7970>7950>6970/570>6950/560ti in that order.
7970 for all out performance as it is the fastest single card there is and can be overclocked really easy too.
The 7950 is better value though because you can get them for £350 and they can easily overclock to the same performance of a stock 7970. The 580 isn't really worth thinking about seen as the 7950 is the same price and is better.
The 570/6970 are the next cards down worth getting, not much slower than a 580 still slower than a 7950 though but they do cost £100 less.
Below that there is the 6950 and the 560ti both good cards and are around the same performance wise, the 6950 is slightly faster.
It might be worth waiting a couple of weeks for the 7850 and the 7870 and seeing how good they are because the same as with the 7950 and the 580 the 7870 should be the better card and the better buy than the 570/6970.
We still have the new Nvidia cards to come though and they could be better than the 7xxx series, if they are better though they will also be priced higher, so there is still the question of is the higher price worth the extra performance or will you just be better off with a slightly less powerful card but for cheaper. It's the same sort of thing with the 580 and the 6970, the 580 is on average 15% faster than the 6970/570 but that extra 15% isn't something, in most games, you would notice. So is it really worth spending an extra £100 for a 15% increase that you wouldn't even notice.
My two cents