Quoted By:
The main games are easy enough and the main strategy required to beat them is to use super-effective moves, especially if they are STAB. So your starters are good if they can be super-effective against a lot of enemies, and you'd want to build a team around hitting other types your starter can't beat. Fire starters are good because they can hit weaknesses the other starters can't; Grass, Bug, Ice and Steel. Water and Grass however are super-effective against three types, and two of them are shared with each other: Ground and Rock. So it's kind of a waste to use both a Water and Grass type in your team.
If you pick the Water starter, the only benefit of catching a Grass type is to hit Water types, but you'd be better served by catching an Electric type instead so you can hit Water and Flying.
If you pick the Grass starter, the only benefit of catching a Water type is to hit Fire, but you'd be better served by catching a Ground type instead so you can hit Fire, Poison, Rock, Steel and Electric, or catching a Rock type instead so you can hit Fire, Flying, Bug and Ice.
However, the HM system pretty much forces you to use a water type because of all the water HMs: Surf, Waterfall, Whirlpool, Dive. Some can be learned by non-water type, but it's rare and not all of them can, or the non-water types that can learn those HMs can't be caught until after you're required to use those HMs.
So if you pick the Grass starter, you still have to catch a Water Pokemon, which only hits 1 new type you couldn't with your Grass starter. Most of them don't have a good second typing to help that either. Venusaur's second type is Poison, and in gen1 and gen3 that was only super-effective against Grass, a type that already has 5 weaknesses anyway, while Meganium, Sceptile and Serperior don't have a second typing at all. From gen1 to gen6, Torterra and Chesnaught are the only good choice of Grass starters, solely because they have a good second type that aren't covered by your Water mon.