I have a good gaming PC build in mind, but I am torn between two graphics cards to pair with my Intel Core i5 4670K - NVIDIA GeForce GTX 660, and AMD Radeon HD 7870 GHz Edition. I hear that the 7870 GHz is more powerful, but I also hear that the 660 gives more stable overclocking, and is more efficient. Keep in mind that I am referring to a standard GTX 660, not any factory overclocked one, or Ti variant, just a stock 660. Also keep in mind that the 7870 GHz edition is about $20 cheaper. If you have any better suggestions for cards that are in the $150 - $200, please post them below. If you require specs of this gaming rig that I plan to build, here is the link. http://pcpartpicker.com/p/1jnM6
The 7870 ghz is better. It overclocks like a beast as well.
The reason the GTX 660 "gives more stable overclocking" is because it can't be overclocked as much.
I would personally go for the 7870. However, Nvidia has some pretty cool stuff like PhysX, Adaptive V-Sync and Boost, of which AMD has no alternative.
As for efficiency, they're pretty much the same. They draw a very similar amount of power under idle and load, with the AMD drawing slightly less power, so what you've heard is wrong, although the difference isn't significant.
Another thing to take into account is that the GTX 660 only needs 1 PCIe connector, whereas the 7870 requires 2 PCIe connectors.