HD 7870 is a bit faster (around 10%). GTX 660 has more features (Adaptive VSync, PhysX, Cuda, 3D vision, FXAA, TXAA, etc.). In the end, the battle results in a tie. There are both Nvidia and AMD fanboys that will say that one card is better than another, but in reality, you won't be sorry by getting either. It's up to you what you prefer. Don't forget to check warranty available in where you live. Getting a card without a warranty would be the worst thing you could do.
I wouldn't recommend you to buy ANY inno3d GPUs I had a inno3d GTX 660, it was heavily overheating. I got it shipped back and got a reference design GTX 660, which proved to be about 20 degrees cooler. They got bad quality and bad support, it's a no go.