Happiness is increased not only by experience and drugs and so on, but also by walking around. In fact, I just did what I do to hatch eggs to get Riolu happy enough to evolve after I realised this. If you train a Zubat up to a Golbat, then the walking around as well as the experience earned in doing that, would place it at a level suitable enough for it to evolve into a Crobat.
Hatching a Pokemon from an egg or catching a Pokemon and then having to happiness evolve it (as the majority of these evolutions are) is a much more major pain in the ass - as you start from scratch.
I don't like happiness evolutions - they're a slow, tedious pain in the arse, and it annoys me a great deal that I'll have to bother with them every time I want a Lucario. (Which will be often).
As for Budew, yes - it
is a good Pokemon at the start. Especially if you chose Chimchar. In fact, it's practically
essential in beating Roark, so it's worth picking up for that.
It is also a good little HM slave - I kept mine with me my entire journey through Sinnoh, only dumping it when it came time to get ready for the Elite 4 and I started training my Weavile. I never used it in battle, but it was handy to have around for HMs - Bibarel being good for the rest (leaving only Defog - the most unused HM in the game - to be taken care of by Drifloon).
I never evolved mine (surprise
), but I will definitely be picking up another one in Diamond to get my hands on a Roserade at some point.