My experience with Silverlight has been different. I like it enough that I'm actively looking for a full time Silverlight job now.
-- HTML/CSS/JS cross browser issues are a huge problem. As a web dev I waste an INSANE amount of time dealing with them. Silverlight solves that issue (I've never seen the mac issues you spoke about though).
-- Javascript debugging is horrible. Firebug helps but it's not even close to using Visual Studio to step through a problem.
-- C# is a great language. I can use Ruby/Python/F# as well. The backend and the UI can both be developed in the same language.
-- It's a stateful environment. This one takes a mindset change but makes life so much easier than a stateless webapp. This one is huge IMHO.
-- XAML and the layout/databinding system are awesome. I don't need a phd in css and a pile of hacks to make a complex layout. Efficient and elegant layout are huge for productivity.
-- I like to unit test and it allows me to do model-view-viewmodel. Almost everything I write is testable and it feels elegant.
-- It's easy to make apps look good. The styling system is well done.
-- It's easy for ux challenged folks to make some decent looking animations and real ux guys can seriously impress. The animation system is awesome and Blend is a great tool for ux. The ux and animation support in Silverlight is something traditional webapps can't do.
Microsoft as a company deserves the bashing that it gets but it's developer division is top notch. Silverlight/WPF and the tooling to support it have a good lead on everyone else. I don't know that Silverlight will become a dominant player but I do think that people are underestimating windows phone. Silverlight/XNA are better than what Apple/Google are offering for mobile development. I also have a feeling that you'll see Silverlight on Android before long. Apple is going to be peering over there walls as Microsoft and Google pull away.