A lot of this problem is perception as well as Microsoft to some extent. The GeForce line has steadily evolved from the TNT, each card significantly more capable than the previous. This is also very true of the FX line over the GeForce 3/4. The 'problem' that came up is ATI came up with a new architecture and essentially changed the rules by more than usual in the graphics industry.
The other half of this is Microsoft. When the DX8 and PixelShader 1.1 (GF3), 1.3 (GF4), 1.4 (Radeon 8500), came out, the features exposed from a GeForce3 & 4 were probably only around 75% of the capability of the card. The shading language was dumbed down for compatibility with other cards (Matrox Parhelia, SIS Xabre, Trident BladeXP, etc) and commonality with Radeon 8500 etc). I'm sure NVIDIA was not happy about that. Coding in OpenGL got you 100% since they wrote their own custom extensions.
Now DX9 comes out, MS totaly designs PS 2.0 around the Radeon 9xxx series. I'm certain NVIDIA was burned by MS a bit by the PS 2.0 spec, moreso than they were in DX8 with PS 1.1 and 1.3. Why this happened is a huge speculative mess, but it did happen. End result: developers must spend some time tuning for NVIDIA for a change, instead of some other card. We're pretty much down to 4 which is a hell of a lot better than around 15 a few years ago. The games that come out are going to run fine on all these cards, because the developers get the pleasure of making that happen.
The good news in all this is all the cards are great at vertex shader performance. The pixel shaders are only a problem since this is where you burn all of your fillrate, which limits your resoloution and ability to run with AA (not that you'll really be able to run with AA on future games, since the developers like burning all the fillrate they can get). The 'reduced' precision mode of the FX is still a whole hell of a lot better than the 8 or 9 bit you got from the previous generation of cards.