For a differing opinion: I think it's because the demand for super-high-end cards has simply dwindled. What game, other than Crysis, needs a supercard? Nobody wants to make a game like that because there's no money in it. They're catering to a lower denominator: make your game run well for the people with a 7600GT or so. Sure, they add a bunch of eye candy for people with the super cards, but they have to make the game run smoothly on the low-end.
Besides, is there a game out now that the 8800GTX can't keep up with, besides Crysis? No. So why would they spend major money pumping out drastically-more-powerful cards than the card that can already do it all for the foreseeable future. Better to cut manufacturing costs, save the consumers some money at the same time (easy way to gain brand loyalty and consumer confidence), and keep the status quo on performance. So now we're at the situation where, a year and a half after it's release, the 8800GTX is still the performance point to hit for the high-end, only now it only takes $200 to hit that point. And Nvidia is rolling in the dough because of it.
As for ATI, they tried, and failed, to compete at the high-end. 2900XT was overpriced and underperforming. So they refined it and released at a much lower price, and guess what? It worked for them.
Now both companies are gearing up for another high-end launch? Why? Well, in ATI's case, because they need something that the enthusiasts want to buy instead of Nvidia's cards. We are a market, albeit a small one. Nvidia, on the other hand, is gearing up for another high-end launch because they have to. If they don't, all the marketshare and loyalty they've gained with G80 and G92 gets flushed because ATI would take back the performance crown.
The few of us out there who want/need super-high-end cards? The GPU companies would rather sell us two cards anyway. And make lots of money on each card, instead of charging exorbitant amounts for a single card that costs a large amount to build and has low yields.
THAT is why we have cheap powerful cards now. Same reason that you can get a fast dualcore for $200 or less - few people need more than that, so instead of pouring MASSIVE amounts of money into more speed, Intel is spending a bit of money to lower costs and raise yields, and raking in the cash in the meantime, while working on the "real" next-gen at a somewhat less frenzied pace.
Really, we all win this way, so I wouldn't complain too much
