It is very easy to see how a fantasy world could become overcrowded, especially with so many types of sentient beings running around. How as a game designer or story writer does one keep from having a person on every inch of the globe? It isn't always easy or overt to do so, at least not in my opinion. I can also only go by my own design ideas for how I would do it.
How do the near immortal elves not overpopulate the earth? Wouldn't they have massive families and just run rough shot over everyone? The elves for my fantasy setting may be practically immortal, but there are natural mechanisms to keep their population mostly in check. Even though they stop aging at about 25-30 physical appearance, for a while but that's later, they do continue to have a long cycle of physiology. An elven month lasts as long as a human year, so the females only cycle 1 time in a human year. Their nature of how they view time is also skewed towards disinterest and lack of focus, so they generally don't focus on procreation out of boredom like lesser lifespan beings. With the longer cycle as well it takes almost a decade for an elven female to have their child, 9 months becoming 9 years, and being pregnant for a decade isn't a fun idea for mother and father.
What keeps the peoples who breed like rabbits or roaches in check? War, plain and simple. The people with shorter mortality rates and higher birth rates go to war like rappers. If one king or chieftain looks at another the wrong way or says the wrong thing, they send 10, 20, 30, 50, or so thousand people off to die a bloody painful death for it. A high death rate goes hand in hand with a high birth rate.
Dragons, wouldn't they have eaten everyone by now? This is an odd thought, how often does a dinosaur with wings need to feed? I like to look at Anacondas and Crocodiles for this answer, and that is because they don't exactly do a major kill every day to survive. In a setting that has megafauna from multiple periods of earth's history, eating people for major consumption isn't a dragon's first option. Like the snakes and crocodiles, a dragon may only eat a major kill every few weeks. If the prey is large enough, say an elephant or a sauropod, it could be months between hunts.
What about the truly large and truly monstrous races like giants and trolls? Because I mix some science with my mythology, I believe that the faster breeding, shorter lived, races would have fought or outright killed the greater threats to near extinction, making finding of mates even harder. For a species like the troll that can only venture out at night to find food and mates, this makes distance travel to find a mate difficult at the easiest of times. Clans of these beings form but maintain their numbers at a low level to avoid being on the radar for violence, or because they understand the rarity of resources and know how to self regulate. The groups based on supposed diseases like Vampires and Lycanthropes keep their turning or breeding down to do the same thing.
In a medieval setting, a city with a million people is very rare, and likely reserved for imperial capitals where multiple kingdoms send ambassadors and so forth. Ideas like magical contraceptives and other things can also keep populations low. City families will have less members than rural households because of the need for labor in numbers on a farm or ranch. Resource management regulates wealth and family structure. All together there are many reasons a fantasy population can explode or contract.