Oh NO! Not another NVIDIA vs. ATI thread! I've been asking this for the last 2 weeks. I'm now going ATI cause my mobo supports Crossfire and not SLI, but I like the idea of AMD/ATI now .... don't know why.
Out of the box they'll provide similar performance. Here are a few things to consider:
1) Do you have a brand preference (sometimes if you've had a bad experience with AMD/ATI or NVidia in the past you may decide you'd rather stay away)?
2) The 6950 2GB is the same GPU as a 6970, just has a different BIOS, etc. There is a widely available BIOS flash to quickly, simply, and easily turn your 6950 into a 6970, providing a lot of additional value. There is a phsyical switch on the card allowing you to revert to the factory bios if you ran into any issues (nice little safeguard for comfort factor). If you are comfortable with this, the 6950 is hard to beat on value. If you are not comfortable with it, you're back into a much closer situation.
3) XFX offers a double lifetime warranty in the US (not sure if this applies in Canada)- may be something to research a little- if any other posters have info on that would be nice.
Either card is a great buy. If it was me, I would pick the 6950 but that's based on my preference and willingness to try BIOS flash. The 560ti is a very nice card as well. The cards are competitive and there isn't a simple, clear winner for every buyer.
It depends on what your needs and preferences are, this not something you want to make a mistake with. If you need a card that is only dual slot and not need a third slot for air flow then 6950 hands down despite the crappy drivers. If you need physx and cuda then go for the 560ti but only go for one that has power vrm and vram cooling as the others that do not will be no better than the 460 which means a short life.