Why bring out new tech every twelve months with big performance jumps when they can lengthen the cycles, reduce performance jumps, up the prices and get away with it.
Why? Because of process tech. Every significant performance improvement has come from doubling transistor count, this happens with a change in process node, simple as that. You can't double performance within the same boundaries of the same process node(obviously talking about the maximum realistic die size that can be made on a process in terms of power, size/yields).
They CAN'T bring out new tech every 12 months on the same process node with huge performance jumps, it's literally impossible, it has never happened and won't ever happen because they can't.
It's taken ARM 2-3 years to get from A15 to A57, which is around a 40% IPC improvement, and is only being done on a new node because that is the only way to make the chip in relatively the same power/die size as they could make the A15 at 28nm. It's the same for all silicon tech once you reach the relative maximum power/die sizes trade offs for a given market.
ARM chips came closer together and with bigger performance boosts before they hit those die size/power limits, since they have it took a new node to delivery a15 with the right performance/size at 28nm, and 20nm for A57. A57 would use too much power and be too big to be financially viable at 28nm, same way A15 on 40nm isn't viable.
We have 7billion transistor gpu's at around 500mm^2 at 250W on 28nm, you CAN'T make a 14billion transistor gpu at any size at less than 400W on 28nm... you can make it at 500mm^2 and roughly 250W at 16nm. That is where the doubling of transistor count will happen.
Every "real" next gen architecture that gives say 70%+ performance has come with roughly speaking double the transistor count.
As for 7970, it was never meant to be the 7870, it's a silly suggestion, if it was and there was a "real" 7970(ie the 290x) it wouldn't have come out that much later.
The 680gtx was always going to be marketed as such and it was always really the midrange part. Nvidia had 280gtx being lower yield than they wanted, higher priced and not as good. The 480gtx was a disaster, it was stupid late, had awful yields and their higher volume 460gtx came so late because their plan for years was high end with low end 6 months later, with salvaged parts filling the gap. 500mm^2+ parts on processes below 65nm were too difficult to get out early with high yields.
GK104 was an active plan to get the mainstream part out first because it was smaller and would give much better yields than the high end part. THis was coming after 2 generations of difficulties trying to make a 500mm^2 part early in a process cycle. Nvidia was ALWAYS going to delay the high end low yield part, they were always going to make the mainstream part first and because of how Nvidia are they were always going to market it as a uber fast part and rinse customers for it.
THey didn't delay the Titan and just go with 680gtx, Titan wasn't ready and wouldn't have yielded well enough for a high volume part. AMD didn't upgrade a midrange part to high end then "delay" the high end part by the best part of two years because that is nonsense, you don't delay a part that is ready that could be making you money, ever. You also don't put 384bit bus or go for 250W on a midrange part.