i imagine that DX10 didnt reach its potential because Vista is the biggest excuse of an operating system that ive ever come across, i mean its worse than Windows ME and thats a BAD OS!!
Id have to disagree with that ^ ive had no problems with vista.
---
Anyways, about directx. First I would like to say is ATI and Nvidia are both outstanding companies, Ive been back and forth between the two. In the long run my experience has been better with ATI mind you I know Nvidia is excellent as well. First things to accept are, Nvidia will always be the leader imo. Nvidia always has the fastest GPU, they always have the best driver support, mind you they always have the highest prices. But you get what you pay for, ATI is very good but they seem to be more targeted at gaming. But they are good overall as well, and they really have some benefits in the architecture of the way their chips are designed (mass amounts of lower powered stream processors).
DirectX is a API (Programing Interface), as most of you probably know, PC gaming is being limited by consoles right now. Which isn't necessarily a bad thing since PCs costs are super affordable and a PC build lasts a long time. Mind you most the games are ports or just ports with some extra eye candy added. PC will always be the enthusiast platform for games, and there will always be amazing exclusive games for PC.
We haven't seen the power of DX10 or 11 yet, of course Crysis, Dirt2, etc all claim to use DX10/11 which they do, they are not showing the full capability of it. Like I said before DirectX is a API and for developers to get used to that API and start developing ground breaking stuff with it doesn't happen over night. Its alot of coding and figuring out, its not like you just implement dx11 in your game and graphics look great. Along with DX11 and 10 are new shader models which imo are the most important. Shaders are so useful in games now days. Many people saw DX10 as a fail, but its not DX10 was a huge upgrade, DX9 was very bound on more of a software level. As for DX10 busted out the ability to use your GPU in more ways to process physics, sound, AI and more. Its been now almost 2 generations and we haven't really seen anything exceeding DX9 limits yet. Except maybe Dirt2 in a couple of ways and some other games. But really, you will not see the power of DX10/11 until consoles do the move. I believe the next consoles are targeted 2011/2012 latest.
In terms of you buying a GPU now, GTX295 would be the way to go to run things fastest. However the high end ATI's w/DX11 would get you some new eye candy features on some games and still do a fantastic job. Id say get a decent card like a ATI 5870 or GTX280 or something, maybe a bit cheaper if u just wanna play games not with everything max'ed out. If your planning on doing a new build wait for some of the new technology.
Mind you DX11 card isn't a bad idea right now, some new games coming out like AvP are going to be using DX11 tessellation (were the models incease polygons as they get closer to make them more smooth looking). DX10 also does tessellation but its a bit more advanced and efficent on DX11, but really its all up to coders for the most part. But if you can hold off for the DX11 version of geforces, that would be ideal since their performance will probably be a bit of a leap over the ATI cards.
I have a ATI tech demo for DX10 that shows off a bit of what it has to offer, not so much in a graphical sense, but processing.
http://www.youtube.com/watch?v=EL72EmeZ1Vg
You can see how many polygons there are, and when you get close to a frog thing its triangles double or tripple. You also see how many dynamic AI driven characters are all being processed on the GPU (Graphics card) that demo was kinda neat, 90% of the stuff in there was handled specifically by the graphic card. My CPU usage was very low, and the frame-rate was good even when filming with FRAPS.
I'm really dragging on, sorry, to sum this up. Im gonna say the future, is a mix of triangles/traditional rendering methods as well as software rendering for various effects and voxel like implementations. Kinda like a hybrid approach, were you have programmable GPUs on-top of DirectX as a base. And then you go to town with voxels, polygons, shaders, custom coded algorithmic effects.