When I go shopping for graphic cards, I usually go looking at what's the best bang for buck.
Yes, most of the time Nvidia releases the single top card but the price they have always released it (and even dropped down too) has always been outside of a budget for that performance range.
My advice is to shop for bang for buck. I love nvidia GPU's but how they market now a days, I will never buy another card from them until they quit the gauging on us consumers.
The 5870 has no competition and it blows the competition away. If that card was the Nvidia card - I bet it would be costing $600 + right now. And it's just not worth $600+ imo
So go looking at either cards and find the best bang for buck. I picked up 2 4870's 1gb for $50-$75 less than a GTX 285.....
I think it works like this for the market
ATI = Man on a budget
Nvidia = Man with deep pockets
I'd go ATI just for how they market (I think it's much on your pockets for the performance) Nvidia cards are too much Hype