Web browsers have become to Javascript what Emacs is to Elisp. It is an interactive, extensible, "everything application". The main difference is that right now, just about everyone with a computer uses a web browser.
Personally I prefer to use a separate, dedicated service to run my language models, and I bounce between a few clients for various things. One of them is a (local) web interface (open-webui).
While we're at it, why not shove our financial passwords etc. into our HTTP headers for every website we visit?
That would be awfully convenient. You'd never lose them or need to deal with another native application. Just open any web page that echoes all HTTP headers and then check your account balance.
Or maybe having a separation of concerns for different applications in a general purpose computer is worth the friction.
For the same reason that a netbook/Chromebook is probably enough for most people: users rarely install native apps on laptop form factors these days - apart from the "essentials" like an office suite, and possibly specific programs they use to get work done (image/video editors etc.).
A browser is one thing that users will go out of their way to replace, making it a pretty attractive vehicle for stuff like this.