In general, WebGL can't be as efficient as a good native implementation because it has to do more validation for security reasons. However, the quality of OpenGL drivers differs so much in the real world across vendors and operating systems, that the difference to WebGL is lost in the noise (e.g. a WebGL app on Windows can be close to a native GL app on OSX, I'm not even joking).
WebGL is pretty far from VRML. VRML was doomed from the onset. 20 years later 3D does not have an generally agreed-upon standard markup. (Collada is a de-facto common editor format because of the lack of competition. Not because anyone likes it. And, it's explicitly not a content delivery format.)
WebGL is an implementation layer for creating your own content delivery system in the same way that OpenGL is for desktop apps. OpenGL's approach has worked in practice for over 20 years.
WebGL has done a good job of maintaining parity with iPads. As in, you can expect top-of-the-line iPad games to run at parity on decent PCs with decent WebGL implementations.
Unlikely, WebGL has gained much more momentum in a very short time then any other 3D API. Other APIs may be more efficient (a bit more or a bit less, depending on the specific scenario), but no other 3D API runs on so many devices (including Flash). I think WebGL has a very bright future ahead, both on mobile and what we call 'desktop' today.
It's not so much a question of which device, but which browser. Chrome and Firefox provide WebGL well for Android, and once i0S 8 comes into the fold support will be pretty widespread.
http://caniuse.com/webgl
WebGL is a presentation of OpenGL through the browser, so we
leverage an existing skill set with an existing API. This
is dramatically different from the case with VRML.