Bulbasaur had a decent Defence and Special Defence, combined with Sleep Powder and Leech Seed to keep him in play. His problem is he has several weaknesses like Fire, Psychic, Ice, Flying. A reason to pick him would be because there aren’t many decent grass-types in the wild. Especially if you play FireRed.
Squirtle has even better good Defence and Special Defence. Although a bit slow, he can learn
Water and Ice Attacks. The last one is specially useful since most people have either a Dragon or Tyranitar in their team. Good against the first two badges (Wartortle learns Bite which deals double damage on Starmie). The reason why you shouldn’t pick him is because there are lots of good Water-types (Gyarados, Poliwrath, Vaporeon, Lapras a.o.).
Charizard is by far the best Fire-type you’ll find in-game. He has great Attack, Special Attack and Speed unfortunately, like most Fire-Types, he has a limited move pool. Especially if you want him as a Special Sweeper. However with EQ, Aerial Ace and Flamethrower he makes a formidable Pokémon. Iron Claw was a good addition too but becomes useless later on. I always used Charizard back in the RBY days but for some reason I don’t like him in FireRed. Perhaps I overused him?
Anyway, all three starters are good Pokémon, unlike in Ruby and Sapphire in which only Sceptile is worth having, but you’ll always need other Pokémon to cover as many weaknesses as possible. My advice would be: just pick the one you like the most and it won’t disappoint you.