Hi,
Generally the 7870 is slightly stronger in most games but also costs slightly more.
As I 660 owner myself I picked it because it seemed to outperform the 7870 in BF3 at the time (I believe the gap has been closed slighly with amd driver updates) and you should easily achieve an average 60 fps+ in bf3 in high settings at 1080p with both cards: which is all you need unless you run a 120hz moniter.
Overall you get what you pay for in this case and either card should be fine (although nvidia driver updates seem to be a bit quicker).