To everyone saying that nvidia's problem is it's lack of 24 bit path: stop. We have no evidence of this. It's possible that it's true, but for all we know a mythical 24 bit NV30 would still be slower. In fact, Valve's benchmarks seem to indicate that the NV30 is SLOWER with 16 bit precision than ATI is with 24 bit. So more likely, nvidia's hardware is inferior in other ways.
Also, don't forget that the top ATI cards also have a specific optimized path in Doom3, they're not the default generic path. Not a big deal, but keep it in mind. I believe that in HL2, the ATI cards are using a default DX9 path, while the NV30 has a specific path. Older cards from both companies appear to be using a generic DX8 path.
I think that if an apples to oranges comparison exists, then we should use it. If the NV30 can rock, let it rock. Note though that in HL2, the NV30-specific code is slower then ATI on the DX9.
No one, no one has been more vocal about the need for standard paths then the Carmack. Valve's "hissy fit" about it last week is nothing compared to the years of work JC has put into this noble goal. Tim Sweeny from Unreal has been vocal about it in the past as well, and Monolith implies it's support for pure DX only. I'm very happy to see Valve speak out as well.
So basically, Carmack is saying that the NV30 sucks at shaders, that it's got nothing to do with DX9 or Valve, and that Doom3 isn't shader-intensive so it's not as big a deal for his game.
I like the Quake 3 Arena.