Generally it's because they have tons of weaknesses and their coverage is ****.
Take Lilligant for example. Everyone goes "OMG Petal Dance with Own Tempo!!!!!!1!111", and it's a really interesting combination, but really, what else can Lilligant do? Even with Quiver Dance, this is her only offensive option. And it's stopped dead by a lot of things.
Grass moves are an interesting asset to damage certain Pokémon, but a Grass-type Pokémon almost needs a secondary type to be able to damage things effectively. That could be said of a lot of types, but especially the Grass-type, since Grass moves are weak against many powerful types, and are generally inferior to Water and Electric moves.
Venusaur only became useful once they gave him coverage moves. Before that, in RBY it was hailed as the best starter because of good matchups against gyms, which was a fallacious argument, since whatever Venusaur couldn't beat easily, it sucked horribly against. It was the worst starter for clearing Pokémon Tower and Silph Co., and learned nothing but Grass moves.
You want to feel pain during a Pokémon game, try starting with Chikorita in GSC.