Why not build a system for distributing apps that's distinct from pre-existing systems to distribute documents though? Presumably this is the goal of the App Store, and the very premise underlying smart phones. What has caused this model to fail? Why did I have to stop using my Symbian phone? It had a web browser.
We have app stores. They're gated, slow, fragmented, and sometimes expensive. They require apps to be installed before you can use them. (Google is working on this last point though.) And sure they have upsides too, but it's not the best option for everyone.
Because native apps offer the exact same problems and are worse at protecting users from them.
Facebook Messenger in a web browser can't read your phone contacts. That alone should be evidence enough that the web handles security better than native.
Stock Android doesn't even allow proper firewall support or adblocking without rooting or implementing hacks on top of a vpn. On the web I can block individual requests to specific domains, and even rewrite them on the fly.
The app model failed because the app model is the web model, just with bad sandboxing, less granular permissions, slower install times, and a worse development ecosystem.
Everybody loves native, I don't understand why. Native is terrible. 90% of native security boils down to "trust a global company to gatekeep out all of the malware." That's not good security.
For one thing, because the vast majority of what people seem to consider "apps" are still documents (in that their primary purpose is to display formatted text) which use javascript. "webapps" in most cases are not distinct enough to warrant their own separate taxonomy.
Also, because the web incorporates hyperlinks, which means "apps" can link to "documents" and vice versa, which is useful, because you might have an attached blog or FAQ or something.
Because everyone already has a browser capable of doing that.
Because every device/os has its' own app store/ecosystem.
Because it takes a lot of effort (more than most will expend) to support even a handful of platforms with anything beyond the simplest of applications with native apps.