Most software is not fine art, it's a tool made by paid professionals for paid professionals. If there isn't a viable return on the investment made for maintenance and enhancement, the program will languish and die. Programs are not people a right to live and be cared for. Often the business decisions are faulty and software that is worthy of investment is ignored. These businesses are often not competitive and they die along with their creations. Sometimes a program's value only warrants a minimal maintenance investment. Admittedly, it's no fun doing a half-assed job, but sometimes you just have to hold your nose and do the minimum.
All too often business decision makers don't understand the tradeoffs and value of software maintenance. Equally, developers ignore the business aspect of their creations and cry for purity from their ivory tower for programs that do not warrant further Investment. Both camps have to learn to take the wider view.
I've learned to advise that when software is developed, a maintenance budget be crafted from the inception of the program and projected through the entire program's expected life. Having this planned in the beginning of a system's lifecycle promotes satisfaction, success, quality and long life.