Programming Language: 1 to 2 years.
Browsers: 2 to 8 years (IE being the outlier).
Assumming the basic needs of a website or CMS don't change, I'd assume that a redesign would be absolutely nessicery once either the hardware, software, or browsers become obsolete for whatever reason (popular use, security vulnrabilities, or whatever reason you can think of).
Off the top of my head, I'd say the shelf life of a website would be 2 or 3 years—assuming more than one of the aforementioned factors apply. After that point, I'd say usability would start becoming a serious issue. Can you imagine working on an intranet that made ample use of Netscape Layers or IE Filters with a standards compliant browser? What about trying to run a RoR app on an old IIS server?
In the end, I think it comes down to expectations. If a client thinks a site or app should be better, then whatever they have isn't meeting their percieved need.f2富二代官网入口