The 680 for a very simple reason: Adaptive Vsync.
When an AMD card drops below 60fps, you plummet all the way to 30fps. The resulting judder is horribly noticeable, esspecially when you were just recently experiencing smooth 60fps. When an Nvidia card running Adaptive Vsync drops below 60fps, it just turns off vsync for a bit, and allows tearing until it gets back up to 60fps where it then eliminates tearing by turning vsync back on. The result is that dropping below 60fps just drops to the 50fps range which still feels nice and smooth at the expense of a little tearing. It also removes the potential for an additional 16-33ms of input lag that one can have from triple-buffering.
Adaptive Vsync improves your user experience far more than a couple of extra frames in benchmarks here and there.
Another way to put it is this: You need a bunch of AMD power in order to brute-force >60fps rendering at all times. On an Nvidia card running Adaptive Vsync, you can put a less powerful card in the machine as drops below the ideal of 60fps are not nearly as disastrous to the experience. This one setting makes a GTX660 deliver a very similar user experience to a 7970, at half the price.
The really dumb part? It's an entirely software-based solution that consoles have been using for years, Rage implemented to great effect, and AMD has had a year to copy. They haven't.