But the concept of "here is 200 water Pokémon to battle with" never made sense to me.
You catch early Pokémon to just trash them later for a better one? Then what's the point of the early ones?
Pokemon can still have different stats- either as a species or an individual specimen- that differentiate them even within the same type. Rapidash has a different niche from Arcanine, even though both are Fire type, and even then your Rapidash might fare worse in battle than my Rapidash depending upon those aforementioned individual stats. On top of that, Pokemon can be dual type too. Lapras will have a better time against Electric Pokemon than Blastoise will because it is Water and Ice to Blastoise's Water.
Regardless, most people generally stick to most or all of their starting team, if only because the time spent with you means they're going to be overleveled anyway. Better to keep hold of the scrappy and reliable upstarts you've got then to ditch all of them for technically better Pokemon near the end game that might not be as highly leveled.
Finally, people like many Pokemon for their designs and personalities, not necessarily their battle readiness. And the invention of competitive tiers there's no reason why you can't use your favorites just because they're not Uber Pokemon like Mewtwo. And even then that's not to say you absolutely can't; someone won the World Championship with a Pachirisu on their team, an electric rodent Pokemon with terrible stats compared to the legendaries it squared off against.
People love Pokemon because Pokemon are cool. xD