In some games like BF3 the GTX 660 performs better than the 7870. Also, if you want to enable Physx in Borderlands 2 you might want to go with the GTX660 as the 7870 takes a rather large hit in performance when enable via the config file. The GTX660 is $10 less on Newegg and includes Assassins Creed 3 but the 7870 is only $10 more and includes Far Cry 3. Both are excellent, I've been reading some reviews and it seems the EVGA GTX660 doesn't overclock much if any at all, but its been factory overclocked past 1ghz so that's quite a plus. The 7870 according to reviews has some room for overclock with stocks already at 1ghz.
Get whatever you feel most comfortable with, I like Nvidia more but haven't tried an Ati card since the 5770 I believe it was.