The 660 is the cheaper of the two. However, I'm pretty sure the 7870 is a better card (from what I've heard).
Keep in mind, this is mainly for guild Wars 2, which both should be more than capable of running max settings. But I don't know what I'm going to be playing 6+ months from now so I want to get a safe card.
Please vote, and if willing, explain your decision and why.