This is a can of worms.
NVidia has 50 application detection mechanisms and 73 shader detection mechanisms in the current drivers. It has been proven that by renaming files, redoing shaders in benchmarks and so on, that the performance reported by those benchmarks drop, in some case, dramatically.
ATI is not clean either, but the extent of what they are doing appears to be more subtle as drops in performance are usually within 1 to 5 percent.
Right now, the industry at large, pretty much puts ATI ahead of NVidia in performance. The 9800Pro is also cheaper than the 5900Ultra.
The IQ of the current R3xx based products from ATI (9500-9800) use a better sampling algorythm for anti-aliasing than NVidia uses. This is just a mathematical fact. It give ATI an edge in IQ over NVidia. It also costs less in performance than NVidia.
The 5900Ultra does not use the 'dustbuster' fan that the 5800Ultra uses and the 5800Ultra is no longer in production.
The ATI and NVidia battle is far from over, and there are many subjective things going on as well.
There are many sites on the Internet reporting all this. The review sites are not talking about this as much due to possible litigation from the video card makers. NVidia already threw lawyers at Futuremark about the 'issues' with 3DMark2003.