I disagree. The GTX 660 and Radeon 7870 perform pretty similar. The difference is about 5-7%, to the Radeon 7870. But keep in mind GTX 660 is also cheaper in most cases. So performance pr. dollar shouldn't be that different.
It's about what games you play and if you like to get the best Technologies, which comes with the GTX 660 (FXAA, TXAA, physx, cuda)
GTX 660 is better in such games as BF3, Borderlands and metro 2033.
While Radeon 7870 is better in Far Cry, Dirt and the old Crysis games.
The Radeon 7870 is better to overclock, but I don't know if that is your deal.
I would say go with Radeon 7870 if you're going to overclock, if not then the GTX 660, because of the boost Technology.
Only buy the 660 gtx if the price difference is in favor of the 660 gtx and by a substantial margin.
But in the shops the 7870 is at the same price, and in some deal even cheaper, so the 7870 is the card to get