There are of course two sides of the story, and you are right that it causes performance/battery life issues. Including a browser does actually improve the situation with screen readers and such.
The big advantage of the "include a browser/large framework" solution is that it allows you to write the application once and use it on web, Linux, Windows, Mac, Android, iOS, some weird TV OS, a game console or someone's car.
Without some middleware you'd be writing 10 different versions and every one would need it's own native libraries that are "just a few days to learn" and "just a few dozen days to master" and only "a few hundred hours to implement and maintain", and the result would be what we had in the 2000s: "Sorry, we do not support Linux."