OK I will start it off. I have owned a Gigabyte 6600gt, ATi X800XL, and an Asus Extreme X850XT PE. I use them mostly to play BF2, AoE3 demo, Madden 2006, AoM (without Titans expansion), UT2004, Planetside, City of Heroes, and assorted old games.
Gig 6600gt- This card surprisingly handled everything I threw at it at lower resolutions and without AA or AF turned on. You will have to do a balancing act with the settings for whichever game you play, but it definitely can get the job done. This came with a couple good games, but not much in other software to speak of. You can find these 6600gt's nowadays for around $130ish shipped brand new if you wait for a deal.
X800XL- I saw an immediate difference when using this card on BF2 in frames per second, settings I could use, and image quality. This card was the best bang for the buck card when I got it and served me very well, but if you're looking to work on building a Crossfire setup I would get an X850 seried card or overclock the new bang for the buck champ, the X800GTO which can be overclocked to an X850XT PE.
Asus EX850XT PE- my favorite card so far. I have been able to run every game with my settings jacked up super high and get no visual lag at all in any game. This thing also came with a nice software package as do most of the Asus cards. You can find these for around $300 in the trading forums, but I think most people are just unlocking & overclocking X800GTO's instead, because they have a high success rate of becoming X850XT PE's.
Just so everyone knows, I run low resolutions due to my crappy CRT monitor. 1024x768 is the norm for me but I can use the same settings when I run my PC on my HDTV with 720p settings (ATi Control Panel has a setting for this), and BF2 runs well at my HDTV's native resolution of 1280x720 (don't quote me on that resolution). If you are running at higher resolutions YMMV, and I would suggest going for one of the higher end cards.