Among what you listed, the GTX 560Ti is faster.
It's the GTX560 that competes with a HD 6870. Whereas the 560Ti competes with a Radeon HD 6950.
But for almost the same price as a GTX 560 Ti I'd go for a HD 7850.
the 560ti is a better card, it is more expensive too. but it is a better card because of nvidias secret sauce... what ever that is I do not know... but the 560ti is faster.
might be a good idea to get the 2GB version so it can run future games ( the gtx680 has 2GB of course)
i wish i could recommend the 6870 but 560ti is better. (in my 1100t system the 560ti is at least the same speed as a 6957(a 6950 flashed to a 6970).
for me the difference comes down to the fact that when i run " Second Life" the 560ti is 50% faster than the 6957... or close to it.
The 560 Ti is a faster card, definitely. But if you're thinking in terms of value, the 6870 now can be had for less than $150 with rebates. Newegg has one for $130 post-rebate: http://www.newegg.com/Product/Product.aspx?Item=N82E168... That's wayyyy less than 560 Ti, which at the best prices I can find right now is still about $200. It's impossible to justify spending 50% more on the 560 Ti.
Edit: to get a sense of how comparable the cards are, check here:
As you can see, there's no way the 560 Ti is 50% faster, and in some games the 6870 actually wins.
Of course you always get diminishing returns, i.e. 50% more price will never yield 50% more performance. But when those two cards are so close in performance, it doesn't really seem justifiable to me to spend so much more for such a small gain. If you really want to spend more, I'd go up to a 7850 or 560 Ti 448 core (really a totally different card than the 560 Ti). Hell, at those cards' prices, you could even crossfire 6870s if you're willing to deal with the associated annoyances.