The problem is HTML. HTML is for documents, not the living application-like multimedia canvases we've all been using since 2000.
Flash was pointing in the right direction, but it was proprietary and Adobe screwed it up.
Simply setting up a usefull canvas layout is pure torture in HTML, with tons of libraries, JS and CSS hacks, just to get the thing sort of running.
Ginormous hacks such as Googles Polymer try to pry some sort of sanity from this plattform with a huge effort and enable modern age development, but the simple fact is, HTML is at least 15 years behind what Flash or similar approaches had to offer.
And don't even get me started on building a usefull web-application with useful clientside logic without a bizar convoluted mess of tie-ins and callbacks.
Example: This multimedia website in Flash is 16 years old. That is sixteen years . ... It's from freakin' 1999!!. It's parely possible to make such a thing with todays HTML, without becoming an all-out programming and browser expert and spending a forbidding amout of time getting it right.
HTML, CSS and client side logic - wether with JS or something else - need a massive redesign for modern day multimedia and multi-screen requirements. When that happens, performance will be sane again. I expect web components and web assembly to get us back on track a little, but that's gonna take at least another five years.
The web is a mess, and frickin' HTML and the ignorant smelly boring nerds that still push it as a cure-all are to blame.
Disclaimer: I'm a senior web-developer with focus on FOSS technologies.