Vertically integrated apps are much cheaper to run - Instagram stores only a small fraction of your photos and makes a lot of money from them. It is somewhat harder to explain why we pay for things like iCloud, which mostly has no web API, only APIs for Apple devices. (Plenty of value there because it keeps you from having to buy a bigger iPhone.) But there are lots of these "almost general purpose" solutions, paying to upload files and store them, but where you cannot use them as you like.

Why not dozens of apps running over the "web filesystem" like happens on the desktop? Two reasons: 1. Amazon pricing for transit/bandwidth is way higher than storage, and so it makes accessing your own data quite expensive if it is not in the same datacenter. 2. And there is a huge security and usability gap between "pick one photo" vs "give me [scoped] access to your Dropbox" Often the general-purpose mode does not work that well, is quite slow, or just costs a lot in bandwidth, a thing nobody wants to pay extra for when they're already paying for storage.