I always have a grass type with me. They have a lot of potential if you know what you're doing. My strategy is rarely to out-muscle all the way (though, I do have a slot on my team for that purpose) and grass types are great for inflicting a variety of damage. When it comes to their weaknesses, yeah.. they have a lot, but dual typing helps. The challenge makes it fun. It's easy to grab a low weakness, high power pokemon and just go blazing through, but you're not impressing anyone and have nothing to fall back on when it's a bad type match.
That aside, I've always enjoyed placing foes under the effects of toxic (spikes), leech seed, spore, etc. Roserade and Breloom quickly became favorites, and I'm looking forward to raising a Snivy. :>