HTML5 has been in the news quite a bit lately, though that's not to say HTML5 is anything new. It has been in development for a while now, to establish a set of new standards and common HTML functionality across browsers. This includes new support for audio and video tags, offline storage, and even in browser graphics generation via the new canvas element.
The latter is particularly compelling, as focus on mobile apps and devices have increased in the past years. More and more browsers are starting to drop support for flash and other plugins that are plagued with constant updates and security threats. So being able to have a powerful graphical standard that doesn't require any additional download on the users part, and being able to offer those applications to users directly over the web is an incredibly powerful idea.
In fact there are a number of new HTML5 game engines or libraries being made, both for free and for profit, as more people are jumping on the HTML5 bandwagon. HTML5 is not without its critics however...
The problem occurs when you stop to realize that HTML5 is not actually a thing. It is not a program, or a package, or a library... or any other kind of object in so much as you can consider digital content an object. HTML5 is a standard, an agreement that only exist so long as all of the major browsers agree to acknowledge it. Until that point it is only a catch phrase.
One of the first things I read when researching the new HTML5 functionality, was how to detect if the the user's browser supports a specific feature and what kind of workarounds to use if they did not. The major browsers appear to cover a variable patchwork section of the new HTML5 features to varying degrees; and while the most recent version of major browsers are getting closer to total coverage, backwards compatibility becomes an issue as well.
Take Internet Explorer 8, for instance, which apparently makes up a non insignificant portion of browser usage and is not compatible with some of the newer features like canvas. While there are libraries available that can emulate the functionality for these older browsers, it kind of defeats the purpose of having a unifying standard when there are users it wont be able to reach.
It becomes more difficult to convince people to develop based on the new standard when they still have to catch all of these exceptions for older browsers; rather then simply coding for the lowest common denominator knowing that at least that version will probably work on the more recent browsers as well.
A Matter of Time
At this point, I would probably say that HTML5 is a good idea if it works; and right now most of what it needs to work is just time. Eventually the older incompatible browsers will be faded out. The new features will be polished and flushed out. Mobile devices will continue to rise in usage through smart phones and tablet devices, shifting more development from downloadable packages to web apps. And the capability of what can be done with these features continues to advance as companies start supporting it by creating more advance tools to help average users yield it's full potential.