I've owned both in the past. From the TNT2 to Geforce3 to FX5200 to 9700Pro to X850XT to 7900GT to my current card, the X1900XT. IMO, both companies have made some excellent cards and certainly there's no question that the Geforce 7950GX2 is the best SINGLE card out there in terms of performance. However, while nvidia has always impressed me with their excellent drivers, easily overclocking, and purevideo performance, ATI has always been better in terms of IQ (Image Quality) which IMO is of high importance in a high-end graphics card. For instance even with the 7950GX2, the angle-depedent anisotrophic filtering nvidia is using, even in HQ mode, is still quite inferior to ATI's angle-dependent AF, not to mention the shimmering. Also ATI cards have had the ability to use angle-independent AF ever since the X1K series was introduced, which markedly improves the image quality and reduces shimmering.
One thing that nvidia has done better than ATI in terms of implementation is SLI. While SLI is far from an applicable mainstream concept (it is still a niche market, regardless of what nvidiots will tell you) for high-end users and enthusiasts it nevertheless a great way to get a signficant jump in performance without having to wait for the next generation of cards to arrive. But to ATI's credit, Crossfire isn't really bad, it simply suffers from lack of driver maturity and from the generaly distaste within the enthusiast community of crossfire "dongles." Still with dongle-less crossfire being possible with forthcoming RD600 chipsets and better crossfire driver maturity, the playing field may once again be even.
Hopefully both companies will continue to produce good cards otherwise, the graphics card market will suffer the same fate as the sound card market. (Creative anyone?) Long live competition and low prices!