I'd agree we know, as an industry how to build good, secure, real time software. As many individuals, we don't. In fact, knowledge is very unevenly distributed. We don't have a formal set of things to learn like some other disciplines, but even they make mistakes. Witness the bridge in Florida, recalls by Toyota, and more. The best still make mistakes in complex endeavors.
That being said , Toyota leans a lot, as do others, and overall quality improves over time. Today our failures are more often because we place higher priorities on items outside of quality or durability.
Should every system be maintained? I disagree. We may change how we do things and abandon some software, even software that seems really critical. The world changes. Banks have rules to operation and those ought to be documented, and a new system should be able to replace it. I'm not sure this one didn't. What I suspect is they skimped on testing, using happy paths, or limited load to prepare. They "thought" they knew banking software, but apparently didn't know it well enough for a UK system.