There has been a lot of discussion amongst web developers about whether HTML5 is going to be a Flash killer or not. The problem with this debate is that it assumes that comparing HTML5 to Flash is like comparing apples to apples.
HTML5 is an open standard governed by a consortium group, whereas Flash is a proprietary product created by a private company. HTML5, being governed by a standards group as it is, creates relatively rock solid standards that developers can rely on, but it takes quite a bit of time to come to that standard. Flash, on the other hand, can be much more nimble in its response to customers, but the technology behind it may change at a moment’s notice, as determined by the company that controls it.
See the Ayantek whitepaper detailing the two sides of the argument and why the technologies may not be at odds with each other, but instead complementary.