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.