Your question is hard to answer without knowing your existing hardware specs (if you have an old/slow CPU it will bottleneck things to the point a better card may not matter).
Will it run modern games for years to come?
Well, yes and no. None of those cards will max out the quality of most modern games, though they will all give an enjoyable experience in many. The future will only get more demanding. CRYSIS 3 for example is a game already out and the MINIMUM specs are fairly high.
Here's a BENCHMARK AVERAGE:
http://www.techpowerup.com/reviews/ASUS/GTX_750_Ti_OC/25.html
This is created with many games, and a good CPU so as not to bottleneck things. Note that the GTX650 gets under HALF the performance of a GTX660 so it's hardly "a slight difference in frame rate".
If the GTX660 was running a game at 60FPS the GTX650 would be running at roughly 28FPS at the same settings!
Tomb Raider:
http://www.techpowerup.com/reviews/ASUS/GTX_750_Ti_OC/21.html
Uh, oh.. at high quality settings it's not very playable is it (30FPS is the minimum I recommend). You'd have to find a DIFFERENT set of benchmarks to see how it plays at lower quality settings but the point is NONE of the cards you mention are exactly future proof if they can't do a great job now...