I have a 670. Ive thought alot about it, i think its more about features.
3GB VRAM vs 2GB for 670
higher OC gains (1:1 ratio of preformance increase instead of 1:05 for the Keplar) basically double the gains from overclocking the same amount of Keplar.
Adaptive Vsync - there were issues from the start I believe they fixed it. Basically this feature stops both frame dropping and frame tearing. In regular Vsync, if your frames drop below 60, they drop all the way to 30, and then up to 60 when allowed.
Depending on your manufacter, they use less power, and usually run cooler and quieter
Some games are optimized for Nvidia cards, you might get a huge amount (15ish fps diff) with nividia cards
Im probably forgetting alot of important things
In the end, 7970 will on average get you the most frames, but it is usually more expensive. (used to be 50$+) , and there is a sacrificen with either, so its not an easy choice.
My 670 runs at 1280 and its at 73 C
But the thing is, if you create a custom fan profile and bump the fan up a bit (10%) you will barely hear it but your temps can be 5C cooler, so don't take temps too seriously. Any non-reference card should do fine, Gigabyte and MSI cards are great.