HTML is a declarative language for GUIs, which is a Good Thing for developers and users. This is both obvious and non-obvious. It is obvious (IMHO) to those developers of end-user software who already avoid the tedium of normal GUI programming along with "DLL hell" by creating applications for their user's web browser, thereby also delivering more applications faster. I'm not sure it is obvious to those who create development software, as they seem to lament how UIs have regressed since HTML has taken over.
Declarative (rule-based) language programs are made up of a set of declarations (or rules) along with a set of meta-rules on how the rules are interpreted. General-purpose declarative languages such as Prolog are not commonly used, but domain-specific declarative languages like Makefiles, Module::Build Build.PL files, and YACC
Domain-specific declarative languages can be markedly easier to program than conventional procedural, object-oriented, or functional languages due to their "chunkiness". Even with a good framework, traditional GUI programming requires writing lots and lots of relatively low-level statements. In HTML, however, a couple dozen lines or so can provide the document submission interface to a knowledge management application (I've done this). The true mark of this ease of programming (IMHO) is that nowadays many embedded computers are controlled through a web browser interface. Embedded systems are resource-constrained environments, where you only include the necessary features in the least resource-intensive way possible. HTML (and HTTP and CGI) wouldn't be used in embedded systems if it wasn't an efficient way to provide a GUI.
The advent of HTML GUIs has meant for me that I give a GUI to a lot more applications, even small utilities I write mainly for myself (like my Dublin Core metadata creator). Just as Perl might not exist without YACC, many HTML GUI applications might not exist if they had to have been programmed as regular GUI applications because of the additional complexity of programming a regular GUI as compared to the ease of working with HTML's declarative GUI. Regular GUIs have infinite flexibility, but they require writing (almost) an infinite number of statements to exercise that flexibility. A declarative GUI is a big advance for developers, as it enables the professional developer to create more GUI applications faster, while casual developers - people who do not even think of themselves as programmers - can create simple GUI applications, the kind of applications that reguired a professional developer to write in the days before HTML's declarative GUI.
HTML's current deficiencies as a GUI language will not slow its adoption, as HTML provides a significant fraction of the power of regular GUIs at a fraction of the cost (which is probably the 80/20 rule in action). Like PCs before it and PDAs alongside it (this was written on PalmOS), HTML often makes a developer's task a lot easier.