YouTube’s developer blog has a sort of state of the video tag post, explaining why the HTML5 approach works for experimental purposes but isn’t going to soon displace Flash as the default for their service. The problem of browser makers not agreeing on a single video standard to support is huge:
First and foremost, we need all browsers to support a standard video format. Users upload 24 hours of video every minute to YouTube, so it’s important to minimize the number of video formats we support. Especially when you consider that for each format, we also provide a variety of sizes (360p, 480p, 720p, 1080p). We have been encoding YouTube videos with the H.264 codec since early 2007, which we use for both Flash Player and mobile devices like the iPhone and Android phones. This let us quickly and easily launch HTML5 playback for most videos on browsers that support H.264, such as Chrome and Safari.
Just supporting one more format will roughly double the amount of storage they need for videos. (The exact amount will vary based on the effectiveness of the compression algorithm.)
Their full list of reasons why the video tag is not ready for prime time is worth reading, and it underscores a larger point with regard to standards as well. The bottom line is that it’s easier for Adobe to iterate on Flash than it is for browser makers to iterate on HTML. Adobe can add new features and push them out in an update that works in all of the popular browsers. And it seems like it’s easier to get people to update their Flash player than it is to get people to upgrade or switch from Internet Explorer. That’s what leaves us stuck on the least common denominator when it comes to implementing things with HTML. In other words, Flash isn’t going anywhere anytime soon.
My prediction is that the trend over the next few years will be Flash on the desktop and more robust HTML5 applications for mobile platforms, thanks to the lack of Flash on iOS and strong support for HTML5 on both iOS and Android.