Totally true - resurrecting a project is hard, to say the least, particularly if years have passed. We're an isv/agency hybrid, and we deploy monthly. The stack started a decade ago but it's as modern as it was then.
Ultimately the onus sits with the implementers to think about maintainability, and the end-user to think in terms other than the immediate.
Unfortunately, many legacy systems were implemented with the "it'll be replaced soon" view, and 30 years on are still limping along.
The software we build today will, if the species survives, probably still be in use in a century or more.
Think of your great-grandchildren when you go "that'll do"!