Because banks are complex beast and their IT reflect that. Most are running 80's mainframes for core services because they are reliable. Laugh at that, but if you know the number of cockups on non-mainframe systems for the same transaction volume, you'd agree. Or even on mainframes, my company runs major data collection and processing across the world, similar to bank scale, but the data is fudged and sticky plastered or pushed out late, no one notices or an analyst kicks up a fuss and gets their next report free. Bank does that once and its a major event. Of course, outsourcing operations to third parties and losing hundreds of man-years of experience is their own doing (the case with RBS)
We'll all learn this in a few years time as Bitcoin nodes are running multi-terabyte blockchains.
To upgrade the systems on any major bank would be a major up-taking. I've worked for 2 large banks in the US and the computer systems were at least 10 years outdated both times. And when they do update, its patchwork upgrades. Banks are under so much pressure these days to increase earnings to please the stockholders, no room for internal computer updates.