Good luck distributing it "elsewhere" when it comes to iPhones.
Without creating the stupid browser based loopholes, it wouldn't be a choice. Developers would be pushing Apple and Google to allow "sideloading" (as if alternative sources are any less legitimate than from their stores).
Also, a lot of the time, a full blown app is unnecessary, or not practical.
It's just as practical. It's unnecessary for a browser to be built to function as a replacement to an application for literally any purpose. If you're making a website, then fine, you don't need an app. If you're making something that interfaces with the functionality of the device, that isn't the job of a browser.
The solution isn't to prevent functionality from existing - this includes browsers and web apps having access to certain aspects to the hardware - but giving the user absolute control over what they allow an app to do.
How do you do this? If the browser has permission it has permission. Each application should be separate so the permissions are separate.