What video cards would you guys suggest buying? I don't want to buy more than I need but I don't want to buy too little of a card either.
Back in early February 2009 I asked myself the same question.
At the time I went with a GTX 285. Just this very morning I bought my new card, a GTX 670. So that GTX 285 lasted me pretty much four years, and I never upgraded it until now. In my opinion it's too easy to think that mid-range cards are "just enough" when in fact you're not sure if you'll keep it just one year, or if you're going to skip following generations for three years or more. Before upgrading to the GTX 670 I was in fact just a few clicks away from buying a GTX 660 instead (regular non-Ti version), just to save some money. But I know that I usually never upgrade my GPUs until at least three years after the previous upgrade, and who knows what my GTX 660 wouldn't have been able to run well enough in three years from now. Sure, right now many games won't demand more than that... but the same could be said with my GTX 285 back then in 2009 (since it was more than plenty of GPU power at the time).
It didn't take very long when I started to lower in-game settings and/or anti-aliasing and/or screen resolution to get smooth frame rates in the latest games. Already by late 2009 and early 2010 I was feeling like I should consider the next generation's high-end cards for a near-future upgrade (fortunately I was simply patient, overall, and I was content with what I had and I simply endured the fact that my 285 by that point was already not enough in some cases). My GTX 285 at the time was considered just that, a "high-end" card, when the GTX 260 and 275 were the mid-range variants. The cycle repeats and I believe the same logic applies now. At the moment a GTX 660 or any other mid-range type cards from NVIDIA or AMD might seem enough (or even more than enough for many games). But that's for now, and maybe this year only. I would say that you might wonder if going for a notch higher (even if obviously a bit more expensive) wouldn't have been a better choice after all.
What I believe is this; if you have the money, then do not go for mid-range cards if (and only if) you're the type of gamer who does not upgrade components often (be it GPU or others). For example, I bought a GTX 670 (which isn't the top high-end single card anyway, but not exactly mid-range either) but I know that already sometime next year I'll have to start reducing in-game settings here and there. It won't happen often and will still remain very selective and situational, but as the years pass it will become a necessity (in some cases, sure, not all the time) to keep smooth frame rates, while sacrificing eye-candy and/or resolution. So, to reiterate, in my opinion, it is better - when under the right conditions - to opt for one of the "high-end" single card variants that you could financially afford.
If, ultimately, you have to (not "want to", but have to) stay within your budget and if it happens to be modest (especially when and if for instance money is tough to come buy lately, or if you just don't spend that much money on "PC stuff") then indeed a current generation mid-range card along the lines of a GTX 660 (or 660 Ti, which can sometimes be on sales for quite cheap nowadays and is significantly better than the regular version) would be enough, for maybe two years or so. If you keep a mid-range card beyond the three years mark you will inevitably have to - at some point or another - reduce in-game settings, anti-aliasing and/or screen resolution to "keep up" with the games of those later years which themselves won't exactly ask permission to your mid-range card first to come up with the latest in gaming visual and physics technology (and whatever else them crazy devs will come up with in three or four years from now).
Bottom line, I guess, is think "future proof". These are my two cents on the subject of upgrading GPUs, but I also apply this same logic for CPU/Motherboard/Memory upgrades. So I hope it helps!