Upgrading once a year/year and a half is enough to play games on highest or at least almost highest settings. There's so much BS spread about 'not being able to play games', when in actual fact what people mean is "Oh noes its been a year and now I can't play games on VERY HIGH with 16x AA in 2560x1600" yes you'll have to trim the settings a little on the newer games after a while, but most games still look equal (or prettier) to the console versions on 'High' instead of 'Very High'
Seriously any PC gamer who ever complains about "not being able to play" something, ask him what settings he has to put the game on, he'll reply with "yeah this is total BS I have to put the shadow quality on Medium and AA on 2x, everything else is highest though. But wtf, I only built this 6 months ago!!"
Most of us PC gamers are snobby dipshits who need everything maxed out to be happy. It's SAD.
If you HONESTLY can't run (and when I say can't run, I mean its slow in lowest settings) some games, then that just means your PC is ancient. That's not anyone else's fault but yours.
About a year ago I had a pile-of-crap PC that was about 4 years old - FOUR YEARS OLD. It played Crysis. On lowest settings. But yes, it played, smoothly, and I finished it. It looked like shit, but I wouldn't have gone on forums saying I "couldn't run it" because I could. Yet some people would have. It played pretty much every other game out there at the time too, except Mass Effect for some reason.
Realistically, to keep games running smooth and looking pretty on fairly high settings you should be upgrading once every year or year and a half. Unless you need everything completely and utterly maxed out, of course. THEN it gets pricey.