I have tended to skip every 2 or 3 vid card generations, due to not getting much improved performance for the money with simple next-gen upgrades. I went from a 4200GT to 6800GT (5xxx series was a disaster) and just went from my 6800GT to a GTX260 when I upgraded my mobo/cpu recently. On the whole, I think this has worked out ok. The extra cost of the GTX260 over a last-gen card or a lower performing current-gen card is justified by not having thrown away money on 7xxx, 8xxx, or 9xxx series cards that wouldn't have run AH or my other games much better than my old 6800GT.
So I actually recommend biting the bullet and getting a fast card NOW and then skip a generation or two.
As for ATI vs. Nvidia, I have simply had better luck with nvidia cards. The ATI cards have some good features but for various reasons I have been really lucky and happy with my nvidia cards. The drivers seem pretty good to me, linux support is decent with the proprietary drivers (I'm not an open source purist... I just want my computer to work) and the image quality is nice. But both ATI and Nvidia current-gen cards are fast and give great image quality. Yea if you pick any specific dollar amount, you will be told that one card is a better deal than another, but if you buy performance instead of simply setting an arbitrary price limit, then it seems that nvidia has a slight edge. In other words, if you say "I don't need the fastest but I want a card that is just a step below the top of the line", you will find that you can get a really nice nvidia card for around $200-$250 that will be in general either slightly faster than an ATI card of the same price, or slightly cheaper than an ATI card that is as fast.
At least, that's what I have personally found to be true. But that's because I NEVER set an arbitrary price limit on computer hardware and then find the fastest part within the budget. Instead, I set a minimum performance spec and then buy whatever part seems to have the best bang for the buck while meeting or exceeding my required performance. That's why I ended up with an Asus P5Q (not the best, not the cheapest, but a great value), and an intel E8400 cpu (again not the fastest but certainly a great price for the performance). And of course my GTX260 (the older one with the fewer processors on the gpu) was a great value because at the time it destroyed any equivalent ATI card and it was priced a good $50 less than the slightly newer replacement nvidia GTX260s that had barely any performance increase.
So set a min performance level (use benchmarks to get an idea of what each card can do), and then buy the card that gives you the best bang for the buck above your minimum performance level. And buy a fast enough card that you'll be able to skip a generation or two before you buy another one. That's how you avoid getting hosed buying a vid card.