When the web started the browser had a lot of rendering agency.
Web sites defined only the semantics, and it was up to the browser to determine precisely how they got shown.
There was a lot of variation in default style sheets, etc.
As time went on, the level of control web developers sought and applied grew and grew.
The semantics got increasingly pinned down, allowing pixel-perfect, high-fidelity experiences, with very little "wiggle room" for the browser to interpret.
This, to be clear, is good!
It allows predictable, high-polish experiences to be built.
It's just that the requisite variety browsers used to be allowed to play within got frozen out.
At the very beginning, browsers used to be easy to build.
Now they're one of the hardest things to build.
Building a browser, even using one of the core open source projects to build on, is like adopting an elephant.
Requisite variety moved away from browser competition, to all requisite variety inside the page rectangle.
Very hard to innovate in a browser now!
It's just a thin shell of chrome (ui) around the main rectangle of page content that has full agency to determine its individual pixels.
Browsers, as large, trust-dependent applications, are also monstrously expensive to distribute.
If you want to make a new innovative type of app experience, don't do it by building your own browser.