I once bought (no sniggering at the back) an 8600GT to tide me over while my graphics card was sent back under warranty. Reviews slated it, it was no faster than the 7600GT it replaced at the same price. Then, as games of that era went from fill rate to shader limited the card started looking better and better than both the 7600 and the ATI equivalents of the time. I think that is because at that price point Nvidia guessed very well what the future was going to look like and they made the perfect card for 1 year down the road. Did it help sales? Well, no, because people at release time thought the 8600GT was a joke and that image stuck.
So, you buy a card based on release time benchmarks and you take a punt on how relevant it will be a year or three down the line. If Nvidia/AMD try and build you a long lasting card then they get blasted for it because it isn't the best silicon possible on day of release.
I suspect the opposite has happened here: the 680 was a really nice bit of kit on release day, the 7870 was a bit more forward looking. Applaud AMD, Nvidia probably doesn't require a public flogging over this. Other things perhaps, just not this
As an aside: My son's 2GB GTX460 just went sparkly and died. The only spare graphics card in the garage, that old 8600GT. I said it might be laggy but playable in Minecraft, but once Windows 10 had plug and played some drivers in it is surprisingly smooth.