If you want the source of most redesign initiatives, look at the middle management and executive levels. At the end of the day, if they want a redesign and a designer says "no" they'll just be replaced.
For most of the companies, it’s somewhere from middle management to the top that someone sees a “cool” website late at night and the next morning says “I think it’s time for a much needed re-design”
A decent design doesn't need an overhaul to extend the functionality of a program or even to keep the program being able to run on modern operating systems, whereas the code foundation absolutely needs regular maintenance - external dependencies need to be upgraded, platforms change their APIs all the time (cough Windows), and after a number of extensions it might make sense to refactor code.
The problem is as usual career/KPI related - there is no glory in maintenance or prevention. A new design will be seen, reviewed and advertised, which if done well is good for the careers of the people involved. With the backend code, unless the developers have extremely good managers and corporate culture allows valuing of maintenance, no one cares even about a complete rewrite - maybe only when it saves actual money e.g. in hosting because money is the only thing MBAs can understand.