I have never really tended to stick with my starter, or with any one Pokemon, really. I like to keep trying to raise new Pokemon, try out different things, etc. I have a tendency to switch out my team completely about every third of the way through the game. I especially dislike keeping my starter around for too long, because it feels very cliche. I feel like I'm not being creative, not taking any chances or trying to figure things out, if I stick with my starter. I imagine that over half of the people do that, and I wanted to have to think a little harder.
I stick to my starters, always. Idk, I just don't have the heart to punt them into the PC box. I usually pick fire types;; I like having the speed and offense of fire types Well... besides Generation 3. I always get mudkip xD
I've never replace my starter Pokemon.
Even if there are Pokemon I like more of that type, I almost feel... compelled to keep it.
I can't really explain it, but I would definitely feel bad if I abandoned it in a box...
Due to the fact that there is at least one good-great pokemon is the evolution of one of the starters in the majority of generations, I usually keep it because ends up being one of the best available pokemon. I guess there seems to be some sort of bond formed with it too, it just feels wrong to abandon it.
There is also the fact that your starter pokemon is several levels ahead of the rest of the pokemon that you can catch early on in the game, so it's always the most powerful pokemon for you to use. The way I level also means that my starter pokemon keeps it's level advantage making it a good pokemon to fall back in a battle that isn't going so well. By the time you do get to a level where you can catch pokemon that are a higher level, since your starter isn't wild it has a massive advantage over any wild ones anyway, meaning that it is constantly a sound choice to have in your team.