I have previously written that I was disappointed with silverlight as a platform for rich user interfaces in a browser. It probably has a lot of nice features, but as a web technology it's not really important if it is not platform independant.
I went to see a demonstration of HTML5 the other day. I don't think there is much you can do in Silverlight or Flash that you can't do in HTML5. Silverlight and Flash are bound to fade out and their domain is going to be taken over by HTML5.
Internet Explorer is currently the only mayor browser not supporting HTML5. You can however install a plugin that will allow HTML5 to be displayed correctly.