-You can learn moves that the next evolution can’t (though this is only the case for some Pokémon). This saves you Heart Scales in case you have a Pokémon that you really need to learn a move.
-You have a reason besides breeding to use an Everstone (because, I assure you, you will be annoyed from mashing B every few battles).
-Some pre-evolved forms of Pokémon have good stats, and some can even use Eviolite in game (in Shield I use an Eviolite Rhydon).
-Some pre-evolved forms actually have “better” stats than their evolved forms, but I guess that could be combined with the above pro.
Wow changing this part again. Back to the original statement. Pokémon that haven’t evolved don’t level up quicker, just Pokémon that are evolved are generally a higher level than un-evolved Pokémon, giving the impression that they level up slower :P
-You have a weaker Pokémon than you would’ve if you had evolved it.
-If you cancel evolution or use an Everstone, and you don’t realize that it’s leveling to 100, you’ll never get an evolved Pokémon unless you are in Gen 8 and you use a Rare Candy.
-To balance out the first pro, you will also miss the opportunity to learn moves of the next evolution, and sometimes they are better than the pre-evolution moves you can learn.
-Fully evolved Pokémon tend to do better in game, mostly because of their stats, and in game you usually want to be the faster and stronger Pokémon than your opponent. Pre-evolutions have trouble meeting both of those criteria at the same time (though this isn’t always the case, again, the Rhydon I have is slowwww).
So, as you can see, the pros and cons are balanced out.
Hope this helps! I might add stuff in here later, by the way! :)