This is probably the 1 millionth post on this, but I just cannot decide. I am throwing together a first time build a i5 3570k and I need an equally badass graphics card for it.
I have been a long time Nvidia fan, hell the system I am on now has an old 8800 GTS 512 in it. Nvidia has physx and great drivers, but 192bit with the 660 and 660ti? That is somewhat of a turnoff. If I had the money I would just grab a 670.
However, I do hear some nice things about the 7870 like its 256bit memory bus and it performing better at higher AA settings, but I hear of grey screens of death and I have almost always been weary of AMD Drivers.
So I am stuck between the more expensive yet smooth ride of Nvidia, or the somewhat bumpier ride of AMD with better performance to cost ratio. I am a huge time gamer and I want reliability AND performance with something that will get atleast a few years of heavy abuse as I game. Someone just smack into my senses so I can decide on this stuff.
What is the monitor resolution that you are playing at? If it is just 1080p and no surround any of the Nvidia cards will be just fine. From a pure performance standpoint at the general price point of ~250 and below. The 7870 is a bit ahead of the 660, and my recommendation at this point for pure performance. Also not including the new drivers NVIDIA just released so that remains to be seen.
The 660 TI should not be a consideration since you can pick up the 7950 at 300 which is the best buy in that bracket.
If you are going to spend 250 and below I'd say GTX 660 for driver stability and relative performance to a 7870. While Radeon driver experience vary from person to person, my experience has led me towards NVIDIA.
If you are going to spend $300, 7950 no question in spite of possible driver issues. High bandwidth, VRAM and performance. 3 games. No brainer. It's what I would buy if I were in the market for one.