Basically, nvidia stole the limelight with the GTX 600 series. ATI/AMD has in the past done incredible things, especially with the 5870 which overall sold more units than the relatively hot and loud GTX 480. Basically, the tides seem to have turned when the 680 was released. It received a lot of good press with regards to efficiency and performance, and consumer mindsets were somewhat changed following that.
That being said, the 7950 and 7970 turned out to be great cards in their own respect but it took AMD several months to get several issues in order. I thought and still think that the 7970/7950 are fantastic cards. But back to the issues that AMD had to get in order: one being cost - nvidia made them look bad when the GTX 680 undercut the 7970 price by 50$. The other thing was driver issues - the 7970 on release didn't have a proper WHQL driver and eyefinity initially did not work properly.
AMD can certainly turn the tide again with whatever their next generation part is, but they MUST nail the execution properly. They can't have poor drivers as the 7970 did on launch, they can't get the bad press associated with that. Additionally, AMD needs to improve that stupid reference cooler - I cannot express in words how sick I am of that stupid reference cooling shroud that they have used for 3 years now since the 5870. Please get rid of that piece of junk and make a better cooler. Anyway, I fully expect AMD to have learned from their prior mistakes - at this point we'll just need to wait and see how well the R9 series performs.