Considering that evolutions are determined by Game Freak before people decide whether they like the Pokemon, that isn't true. Meowth is one of the most popular and well known Pokemon yet it only evolves into Persian. Psyduck only into Golduck. And on and on.
There is no telling how Game Freak determines which Pokemon evolve, but the way they do evolutions is usually based on stats. Pokemon with low stats tend to have an evolution. This does a fair bit in balancing the multiplayer component of the game while also making sure that the early game for ingame is not too easy. I mean, they don't tend to throw Dragonites your way before the first gym. Now of course there are still exceptions to the stats rule. Butterfree for example has low stats. However, that is to balance out the fact that you get a Stage 2 Pokemon at level 10. Smeargle hasn't gotten an evolution, but that is because it is a gimmick Pokemon. Gimmick Pokemon don't tend to get evolutions. The way Pokemon evolve or don't involve lends diversity to the game. Also helps out in the TCG, as Basics are a huge part of the game. But that is probably an unintended effect of how evolutions work.