Personally I prefer ATI. They're the only cards I've ever owned where I dropped them in and they worked right out of the box. Nvidia cards always seem to have some glitch in them.
My 9800XT was wonderful. Esp after I fitted an after market cooler (v.quiet).
The two 7600GTs I had were terrible. I kept getting glitches, SLI never worked right and they wouldn't budge an inch on speed. Oh and the control panel caused more problems than it solved!
I bought a 7950GX2 and water cooled it straight away. Not only did this "low heat" card produce too much heat (it ran at 70c before water cooling) but it also lost the second card after a while so I had a really expensive 7900GT underclocked
Now my present 3870X2 was watercooled from day one so I've no idea what the aircooling is like but it runs at around 40 degrees, handles everything nicely, gets a 3D06 of about 17K with no tweaks and never misses a beat (except when battlefield does anyway). I've had a few glitches with drivers but nothing more serious than windows having a border around it.
As for the programming side (sorry Martoon) I consider that SEP [someone else's problem]. Their code keeps crashing, it doesn't use the potential of my hardware yet I'm forced to upgrade...plus they talk funny!!