Using HTML can be enough for a large class of games, especially if you optimize it to avoid common pitfalls.
You want to avoid operations that trigger UI reflows.. (like changing values every frame)
And extra compositing effort: (drop shadows and complex CSS)
But if you manage those things, you can get good performing HTML UI.. since html+ui is what browsers are hyper optimized for.
The downside here is that it won’t work out of the box for VR and some other cases. (WebVR/XR only displays the webGL layer)
You can also just use it for prototyping, and then roll your own true 3d one once you’ve settled on a design/look.
There are hybrid approaches as well.. as discussed in other threads on here.. especially recent developments in being able to manually render HTML directly to canvas, which can also solve the problem for VR since it gives you the control to embed the UI within your webGL scene via canvastexture.
related: WICG/ html-in canvas thoughts