The fundamental problem is that 99% of users out there don't need a computer. Period. and scene. We've convinced them that they need a camera. We've convinced them to trade texts for phone calls. We've convinced them that their happiness hinges on what people they haven't seen since high school think of their breakfast. We've convinced them that they need up-to-the-minute alerts about stock prices, presidential tweets, traffic, weather and the latest sale at Macy's but fundamentally, people don't need computers.
But if they're taking pictures, they need a gajillion GB because their iPhone X is going to crush their data plan if they upload that shit to iCloud over cellular. And if they've got a gajillion GB, the guy with a gajillion and a half GB and a slightly bigger screen is signaling his status. And if they've all got a gajillion to a gajillion and a half GB, Facebook can suck down a third of the available space and half the available battery for Messenger because fuck you, it's the only app you care about.
And it's got to work with Instagram, and it's got to work with Whatsapp, and it's got to work with iOS, and it's got to work with Android, and two of those teams are in-house, and two of those teams are bitter rivals, and all of those teams are separated in space by a thousand miles or more, and so long as we're all using the same libraries we don't have quite the Tower of Babel problem we'd have otherwise, and when those libraries update we all update and the more modules we have the less updating we have to do by hand and the more we can just version this shit and see if it breaks and if it does there's a module for that, or at least there's a hack that'll work this week and if it's got a memory leak let's give it a couple versions and see if it sorts itself out on its own.
JPEGs aren't going to get much smaller. The space will always be there. And if you code something efficiently to save space, whenever someone updates something it has to touch, you have to check it yourself. Pull something out of the repository? It's the repository's problem.