I choose the one that offers the best moves, stats, type and opportunities for future Pokemon; I try to have as few type repeats on my team as possible. In Kanto, I pick Bulbasaur because it can blow through the first 2 gyms and synergizes well with other good Pokemon. In Johto, I take a Cyndaquil with me because it's an aggressive special Fire-type, unlike Meganium, who's a bit too defensive for my tastes, and I choose it over Feraligatr because you encounter a shiny Gyarados through the story, and I like to use it. I'm kind of torn over the Hoenn starters... Blaziken gets Sky Uppercut, but Swampert gets a Ground subtype. Flygon's good if you need a Ground-type, though. I usually go with Torchic, but I've had some good experiences with Mudkip in the past. For Sinnoh, I choose Piplup. Its future Steel subtype really comes in handy with resistances and advantages. Empoleon with Flash Cannon and Surf, Staraptor with Fly and Close Combat and Rotom with Thunderbolt and Shadow Ball is enough to get through most of Pokemon Platinum alone.
Now, for the Unova region, I'm going to start with Oshawott. I don't like Tepig because of its speed, despite its raw power, and I don't like Snivy very much because its movepool is lacking a little bit and its stats are too defensive for me. Oshawott, on the other hand, is more well balanced and gets some great moves, like Surf, Megahorn and Ice Beam to really extend its type coverage. I don't really like the other Water-types in the region very much, either. Besides, so many people are picking Snivy over Oshawott, it's nice to give the little aquatic mammal some love.
As for keeping my starter, I always do. They don't get much special attention in comparison to my other members, but I always incorporate them onto my team somehow. You could say that I build my team around them, but not exactly.