As much as I love HTML5, the truth is that if your going to use it in a production environment where you need to support as many desktop browsers as possible, it is not a great solution (mobile is a different story). If you are going to support a limited set of browsers, then it becomes far more interesting.
Take a look at this compatibility chart of HTML5 support. Look at support for Canvas, WebGL, WebSockets, SVG, etc etc.
You will not have support across the board for these things until a few years from now - and that would still require you to allow whatever is considered an "A browser" then.
Truth is, that if you want to create an awesome experience that uses any of these things, the only viable option, right now, is a plugin... so that leaves Flash and Silverlight. Since ESRI is a Microsoft shop - they picked Silverlight.
Once ESRI buys into a technology as a platform, they support it full on. Need I remind that most of ArcObjects is COM based - and that is not changing anytime soon?
I would not worry that ESRI will drop support for Silverlight. Funny thing is that, in 7 years from now (an eternity in tech standards), probably MS is more likely to drop support for Silverlight than ESRI is.
Since most of us live in the present and need to deliver solutions yesterday, Silverlight is a good ESRI-sponsored option.
Update: And of course it has been 2 years since this answer and the browsers have been catching up. So if you asked me what I would use for now, the answer would be HTML5 for most things.