Cross platform GUI widgets were possibly a good idea seven years ago if you didn't care about looking too good on OS X (still today, Qt applications look somewhat off on that platform). Today, they are a terrible idea, because every mobile platform looks different and if you try to make one interface for all, it will feel non-native on every one. At least if you use completely custom widgets, as HTML forces you to, it will be clearly non-native, not something pretending to be native but with the wrong behaviors.
I'm sure many people fundamentally want programming to be as close to write-once-run-anywhere as possible, and hence think this is a terrible state of affairs; for me, though, having different platforms with different, clear design philosophies is a good thing as it encourages people to care about and innovate in design.
The same thing could happen with any sandboxed platform that allows code download from an internet resource -- even Java did it more than a decade ago (WebStart I think it was called).
For some reason (traction I guess) we did it through piling up of more and more BS into the web model (meant for documents), and leading into the current mess.
I mean, instead of the big guys (W3C style) getting together and creating a cross-platform sandboxed platform for native style apps (e.g with actual rich GUI widgets instead of just text entry boxes and text-boxes).
The irony is that each of the big guys developed a kind of its own half-arsed version of that, e.g Microsoft and XAML, QT and it's XML/JS thing, Adobe and Flex, etc etc.