Looks like it comes down to either the 6950 or the 560 ti. Both are right around 300. I'm a radeon fan so I'd go with the 6950 but the 560 ti is a good card as well. Techspot will have a good review for both of these cards.
Although now that I think about it with radeon starting to release 7xxx series cards and the rumors of nvidia's new cards coming the first half of the year it might be good to wait and see how prices drop.
yes the 6xxx series was not really an upgrade in raw performance. The 6xxx series are typically smaller, run cooler, consume less power and scale better when in crossfire. Some I believe were also cheaper than the previous 5xxx series.
The 5970 is a dual GPU card like the 6990 (yes, the naming is confusing). I don't think it's on sale any more as it is a previous generation card.
The 5970 is faster than the 6950 and 6970, but you'll find when you get into heavily tessellated scenes both of those "slower" cards will beat a 5970 fairly easily. Tessellation is a feature you're starting to see often in newer games that support DirectX 11. The 5970 is also difficult to find these days as it's now 2 generations back and even the ones you see on craigslist or the like are for upward of $400 most of the time.
The 560ti and 6950 as pointed out are the best in the ~$300 price range. Tom's Hardware even has them listed in their monthly best-bang roundup. If you can't decide what one is better, look at different benchmark performances. One may perform better than the other in a game you heavily play.
But I would second Rangers suggestion of holding onto that money. In the next few months we will likely be seeing several new cards coming out and it would be a shame to buy an expensive card right now only to have something better come out a couple months from now at a much better price point.
I can't really tell ya how much the price would drop. Any of my guesses would just be a shot in the dark. I can personally recommend an Asus card or an XFX card. My last two have been XFX cards and they never gave me a problem. I also had no problem with my Asus card and the packaging that card came in was just awesome. Those are the only two company's in recent history I've done business with.
In all honesty I would just go for the cheapest option because at the end of the day the chip is the same. The only difference between manufacturers is the cooling solution and the warranty period. You might see some pre-overclocked versions but you can usually get much higher clocks yourself from a standard card anyway.
the GTX 560 Ti 448 is better than the 6950 in raw performance and can be overclocked to within a few fps of a gtx 580. all for around the $299 range
The best 6950's are the ones which can be unlocked to 6970 and usually it's the reference cards which you can unlock.
560ti 448 is hands down the best in the price range, they OC like champs and from personal experince as I own 2 in SLI they walk all over everything else @ 300, unless you find a GTX570 on sale lol.
6950 >> 560ti
I'll just leave this here...