I always jump generations late, when you can get the best deals on new cards. My card choice is primarily based on what I can get for the money I have available.
I got an eVGA 7900GS when they came out at about $150. I lucked out - mine overclocked 70%, making it quite a bit faster than 7900GTX's - roughly the same speed as an 8800GS. (minus some shader power)
But, when I had a chance to get an 8800GS for $35, I jumped on that too. Turned out the memory wasn't stable at stock speeds, so I had to underclock it, making it slightly slower than my old card. Bummer. But at least it solved the crash issues L4D/L4D2 have with GeForce 7's.
When I finally got a chance to flip to a GTS 250 for $99, and sell my old card, I did that. It too was unstable at stock speeds, but some copper RAM sinks fixed that, and it now runs happily with a 20% memory overclock. It currently plays everything I throw at it at 2048x1152 - but newer games do require AA to be turned off.
My next GPU upgrade won't be for a while. I already have too many games to find time to finish. But I'll probably pick up a new CPU to speed up video encoding, shortly.