I've been developing WebGL software for a client for the last few years and my client has had quite good success selling content based on the software and consumers are using the content. The vast majority of browsers fully support WebGL (1).
The biggest performance bottle-neck is the JS itself, specifically stock three.js is quite inefficient. However, that's just a matter of optimising three.js, or using WebGL directly if you need more fine-grained control. You can get a lot done in a browser these days.
I have seen impressive WebGL demos, but for some reason WebGL always makes the GPU sweat more than plain native code driving my fan at full speed, even though it offers less.
Maybe it is a consequence of using JS, I have never researched it.