Welcome to a 7-year refresh cycle.
If you size what you need properly, and think about expansion over the next few years (clue: ask your business whats in their growth plan...) then you wont end up over-or-under spending, and you can keep a platform for >3 years and still deliver performance to your business. It just takes a bit of discipline and some basic analytical calculations that are based on understanding what you need now and in the fairly near future. Dont fall victim to the "special offer this month" that is then end-of-life next month (Dell & HP Bladeserver sales reptiles I'm looking at you).
We've escaped the 3-year refresh by going for large memory systems that are expandable. While our growth in CPU demand is modest, our growth in RAM demand is harder to cater-for without. Just signed up for years 5 & 6 of hardware maintenance on our platform, which has doubled in RAM and tripled in CPU power since it was installed. Big increases in performance/capacity, but not 1 second spent on installing new software, cabling, and working out all the glitches all over again when going to a new hardware platform. For IT departments like ours, its absorbing change that hurts. We just dont have the time to bed-in the latest "everythings different" server generation from Dell, HP, etc.