they appear to be bloated mainly because of two reasons:
1) companies pulling in all sort of un-optimized content and making requests to a huge amount of external services, effectively slowing down the render of pages
2) a lot of developers developing stuff that should really be native code in html+js+css, which doesn't always perform that well and tends to slow down the whole browser. it really suffices one badly-coded app (not using well asynchronicity and/or wasting memory) to make the whole browser appear slow.
For instance, the RPM for the Firefox I'm using right now is 100 megabytes, and that's an already compressed format. After installing, just one of the components (libxul.so, which has most of the executable code) is over 110 megabytes.
Each new feature will only increase this size even more.