What happened was...
The old systems worked. They continued to work. Their tech was, long ago, *way* outdated in many cases. People have been writing non-working replacements in the language of the month and those replacements have failed.
It *is*, in my opinion, possible to replace these old systems with robust modern systems that are *more* stable, feature rich and maintainable. However, solid bread and butter software development is not sexy enough to sell.
Most of the world's working code is essentially written in Assembler, COBOL and C. When was the last time you saw a job posting for those? You don't because the existing systems work. Meantime, there is always a call for stuff like Java and the web tools of the month because the systems keep breaking down.
I dream of a day when actual software developers are consulted about software development. I am afraid it will always remain a dream.