Really, running off old kit is the sysadmin equivalent to the "technical debt" talked about here in the context of messy spaghetti code. It's cheaper now, but will have to pay later. Usually with usurious interest.
You should keep servers closer to 3-5 years Your SysAdmin will say 3, the IRS says 5. It's generally agreed that after 5 you should give it to your little sister or use it in the test lab. I mean, I know people who run old servers for fun; a good friend of mine runs his website off a .com era 10 CPU sun enterprise. but that's hobby work, and even so his co-lo provider is loosing money on the deal he's getting. If he was paying for his own power, he'd probably step down to a single-socked 12 core opteron which would have more compute power and more ram, and use approximately 1/10th the power.
At my company, I estimate a reboot to cost me about a thousand dollars, that is, if everything comes up cleanly afterwards. Right now, we're debating if we should extend the servers out to four years rather than throwing them out after three. But in this case, I own the whole thing, rather than one department, so I feel it on both ends; both the problems caused by old garbage and the cost of buying new stuff.
Network hardware, generally speaking, lasts longer than server hardware, but depending on the badness of downtime on that particular network, a 5 year cycle still isn't bad, and running 10 year old kit is kind of crazy. (and if we are talking 100Mbps stuff, you are starting to talk about 10 year old kit.)
I remember at another contract gig, I was getting paid around seventy five bucks an hour (this was really a full time job in all but name, so they paid closer to full time job rates than short-term contract rates)
A lot of my time was spent repairing or cleaning up after 10 year old servers. Most of the time when I touched something? for what they were paying me alone, not counting downtime costs, they could usually have bought new kit. And half the time, these were critical dev servers; one of the hard drives failed years ago, and now the second was returning read errors. It was absolutely crazy that they didn't just replace all of this garbage at once.
I mean, they eventually did, I was actually hired on to help virtualize all these tiny 10 year old servers on to much larger, newer servers. But the job would have been quite a lot easier if they had replaced these servers after 5 years rather than 10. I suspect that the downtime and cleanup ended up being more expensive than the capital cost of new servers would have been.