I think there is probably a slight shearing layer in the way WebGL integrates with the rest of the browser programming interfaces since it's the lowest level API by far that is exposed. Thus, platform developers who are served ala carte technologies that provide a facade for traditionally very non-trivial things (layout, font rendering and font server, vector graphics rendering, etc. etc.) are suddenly given raw substrate which requires one or two abstraction levels before it's near even SVG which itself can be considered really low level when compared with HTML and CSS.
Traditionally, web developers expect a higher level experience and I think the organizations that usually serve web development services have not taken into account that you need a team of computer graphics experts if one wants to develop anything on top of WebGL.
I'm not dismissing web developers - I'm a graphics programmer myself - but basically, for a non-genious level person like me even grokking the transform stack requires re-orientation every time I'm not touching linear algebra code for a couple of weeks.
It's not a fault of webgl, per se - the other graphics aspects a browser serves do have pretty well figured out conventions and grammar that can be standardized to provide the ala-carte publishing experience a browser provides. But we don't really have any "standard" conventions in computer graphics yet that could be formalized to the level a page layout can. And is it surprising? Publishing has a history as an industrial craft of 500 years. All the conventions have been figured out, and are implementable in algorithmic form.
While realistic art has been practiced thousands of years only 2D graphics really has the industrial basis where we can say that everyone understands and can formalize what they want from their image.
3D graphics is a whole new ballpark. When pixar introduced their shader language 30 years ago they laid out the foundations for formalizing the colorization in visual grammar. The concept of a scene graph is pretty formalized, as well as the perspective projection of a camera. There are some "usual" convention in 3D interaction like the arcball rotation in an editor like scene.
But other than that? The visual world is infinitely rich. We are not ready for a "standard" representation of an infinitely rich universe of expression.
Of course, that does not mean there are no representations that could not be formalized - there are the standard materials of 3D engines and so on, and physical rendering approaches are slowly converging on the best model - but, I don't know if we can ever reach the standardization of desk top publishing in 3D graphics.
Native Quake III on a Pentium 4-era system was much smoother than most of the WebGL stuff I see on a modern system, but the fact that a WebGL demo [1] of a subset of Quake III is very smooth seems to support this idea.
You make a lot of good points about the difficulties that the low-level nature of graphics programming present to standardization. I agree that there probably isn't necessarily an easy solution to this which doesn't unnecessarily restrict the space of possibilities in the name of performance or interoperability.
The trick with the web is not the actual tech inside, as much as the instant delivery capability across a huge variety of devices which support the tech.
* Yes, yes, I know that there are tons of compatibility issues, but native support across the same range of devices is 10x harder. If not 100x or 1000x.