Because if you're not pre-compromised by somebody who will prevent you from behaving badly, they can't be sure you're not behaving badly.
And by behaving badly I mean using a client other than the one they expect to talk with their server.
Imagine if there was just one banking app, and whichever bank it talked to was just a setting, sort of like how pidgin and trillian worked with chat back in the day. That would make the banks feel small. You can't have control over your device because it might hurt their feelings.