The way I understand it, a long time ago nVidia saw the need for an advanced language. They told Microsoft... Microsoft decided it wasn't necessary yet... so nVidia started work on Cg and the GeForce FX GPU. Then when ATI went stated they felt their was a need for an advanced language as well, Microsoft went ahead with DirectX 9. So by this time, nVidia had created Cg, and the GeForce FX was half way through development... they couldn't just scrap the whole GPU... so they did what they could to support DirectX 9. Obviously since the GPU was designed for their own language, it doesn't work as well with DirectX 9... it's like trying to run a Mac OS on a PC. It may be possible with some modification, but it will never be as fast as on Mac hardware because the OS was designed around the hardware.
Again, the way I understand it... these new drivers sort of "translate" DX9 instructions into something the GeForce FX GPU can handle easier. And now there's rumors of Microsoft working more closely with nVidia with DirectX 9.1 to correct the performance problems, or at least make them less noticeable.