When I was a kid, I typically only used one Pokémon throughout the whole game. Usually, this was my starter. However, sometimes it would be a different Pokémon. For example, one time, in Crystal, I caught an Abra, taught it the elemental punches, and only used it for the rest of the game. It was ridiculously over-leveled when I got to the Elite 4 (somewhere in the 60s range), so they were no problem for me (not even Karen). When I got to the part in Crystal where you had to get back the Machine Part for the Power Plant, I had no idea what to do (I was around 7 or 8 years old, so finding a hidden item in the water of a Gym wasn't something I knew how to do), so I decided to train my Kadabra and make it stronger. Eventually, I restarted Crystal because I thought I was stuck and that I did something wrong in the game. When I restarted, my Kadabra was level 82. It never did evolve, though, because I had no way to trade back then. Ah, good times.
Now, however, I'm 13 years old, and, as a result, a lot smarter when it comes to Pokémon. I typically have a full team of 6 by the end of the game, but I don't get my team members all at the same time, to avoid being under-leveled. I always completely plan out my team in a Word document before playing a Pokémon game now. Moves, abilities, etc., I plan it all out before I start the game.