Realistically a current mid/high end machine (example for 2006-09; C2D E6600, 4GB RAM, GeForce 8-series/ATI 2900 series+) should last 3-4 years as long as you dont mind dropping the AA+AF levels and texture sizes as the years go by, nomrally it only takes 4-5 years for "the next big thing" to come along and provoke a required upgrade (usually a new version of DirectX).
I cringe at the thought of how much money i've wasted in the last 4 years building and upgrading my rigs in 6-8 month cycles. I literally could still be using the original machine I fist built myself way back then and just have upgraded the GPU but no, I had to get into overclocking, modding and watercooling and then it just spiralled out of control... In the last 4 years i've gone through the following GPU's: 2900PRO 512MB, 880GTS 512MB, 3870X2, 9800GX2, 4850 512MB and a 4870 512MB. :S
I cringe at the thought of how much money i've wasted in the last 4 years building and upgrading my rigs in 6-8 month cycles. I literally could still be using the original machine I fist built myself way back then and just have upgraded the GPU but no, I had to get into overclocking, modding and watercooling and then it just spiralled out of control... In the last 4 years i've gone through the following GPU's: 2900PRO 512MB, 880GTS 512MB, 3870X2, 9800GX2, 4850 512MB and a 4870 512MB. :S