There is no best answer here because both GPUs, the Radeon HD 7870 and GeForce GTX 660, are great mid-range GPUs. I would personally lean more toward the NVIDIA side of things, mainly because they seem to have better compatibility and less niggly software issues within Windows - but this is a personal opinion.
The Radeon HD 7870 has better bandwidth numbers, which might help with those high-res games, which might help sway your decision.
But at the end of the day, both GPUs are great - and for the $200-$250 range, they're your best options. If it comes down to what I recommend, I say go for the GTX 660.