* The npm ecosystem is a bit overzealous in the dependency department. Not everything is bloated inside npm or out of it but a lot of it is.
* Javascript itself hasn't changed much in the way of making DOM creation/mutation easier. Custom elements, shadow DOM, etc. were nice but at the end of the day you still need to call createElement a lot and do everything manually. You're probably referring to using libraries, of which some are nice but many suffer the above-mentioned bloat problem. Event handling similarly hasn't changed much.
* True enough, there probably haven't been this many of us in a long long time! More people must mean more good people.
* write once, run everywhere.
* the amount of tools and libraries.
* Modern javascript is better than c++ or python for UI
* the availability of good web developers