There's nothing inherently wrong with software being old and outdated, that may just mean the software was designed well enough to be long-lasting.
However, the problems come when you're working with software that's decades old, has no master feature list, sparse documentation and no unit test coverage for countless feature enhancements and business rules that were tacked on over the years, so no one understands everything that it does and no one can touch the code without breaking something unpredictably, plus it's monolithic and not modular or portable at all, so it's really hard to migrate any part of its functionality. And it's in a language no one learns anymore, so it's really hard to hire developers. Meanwhile your business has become so dependent on it that you can't continue to make money unless the program continues doing its job. So the software will only continue to get older and more outdated, because it's irreplaceable for all the wrong reasons.
Sure, it's fine to still be on a COBOL system, but in reality I bet that most companies that are still on COBOL would migrate to more modern and maintainable systems if they could. But they can't, they're locked in by the amount of technical debt they've accumulated.