Level curve is a thing. I remember playing games where it's been very well designed (like some Final Fantasies), and it is at its best when the player doesn't really notice it working. Take the expectation of how many encounters and enemies the player will on the average encounter when working through a zone, and let that level-up inform the difficulty of next zone. The EXP gain should be starting to turn from a flow to a trickle when encounter difficulty becomes low, to avoid over-leveling too easily for next zone. Then there's the separation to trash mobs and bosses. Trash is what the player sweeps from the floor when a zone is easy, and the boss gives the challenge through sheer power / abilities / special tricks.
(For example, in Xenogears the boss in the wreck of the Eldridge. Its special attack halves everyone's HP, including its own. The winning tactic is to let it spam the special while healing so its normal attacks don't kill you, then go all out when its HP is low enough to kill it quickly. The game's final boss Deus is surrounded by four Pillars - Harlute, Marlute, Sundel, Metatron - that grant it extra abilities. You can either deal with them first and take the consequences of up to four extra battles, or go straight for Deus at its peak power.)