It's not even the hacks. It's that "how the business works" was automated into COBOL 30 or 40 years ago, everyone in the "business" who knew how and why things happened retired or got laid off, and the COBOL programmers are the only ones who remember the business rules.
I lost the count of how many times I thought about rewriting the entire beast in C or even a more recent iteration of FORTRAN.
In the end, it wasn't something that I would use for much longer and I just mapped what all functions that i needed did on a spreadsheet and added a couple of hacks for the next unfortunate person to handle.
Maintaining old codebases full of hacks and without good documentation that can fail without big consequences is boring, but code that handles the kind of data that banks have is something straight from hell.
Unfortunately the alternative (re-write the mainframe/COBOL systems in a more modern platform) is a risky and costly process....