Blame the phone manufacturers for being skimpy with the onboard flash size. Phones should also have multiple MicroSD card slots, have one dedicated to allowing programs to be loaded from it.

Theres no reason your phone shouldn't be capable of holding 128Gb+ of stuff, it'd ease up on data usage for music and video if more could be stored locally without having to decide between holding an album or a game.