if you want to be futureproof for a long time get the 680 lightning its a lot of fun as well to play with and overclock and stuff.

keep in mind the 660ti is gimped by the crappy 192-bit memory interface, the 670 and 680 have 256-bit on an already small (in comparison) 2gb vram interface.

I would go for 670 or 680 (lightning if it's in your budget). The amd cards are more bang for your buck and the delay in frames wont be noticed unless you're going 120hz monitor / 3d. So if those aren't in your foreseeable future you can get a 7950 or a 7970 which will get you a lot more bang for your buck.

EDIT : The reason people recommend the 660ti is because at the moment it is still the "budget high end Nvidia card" but seriously for 300$ a 7870 / 7950 would provide more horsepower and for maybe 50$ more you can buy a 670 which is almost the same performance as a 680 and also provides you with the 256 - bit memory interface. Most people do not pay attention to the 192 bit memory interface and yes right now it does not effect anything because games do not require it but in the future (assuming you don't upgrade every series) it will become quite apparent.