In my personal opinion, Silverlight failed mainly because they failed to provide "user-friendly tools" for non-developers. Back in the years, Flash gained a huge market because it had Macromedia Flash around ( now called Adobe Flash Professional CSX ) which is relatively easy to get used to and non-developers could put together small and quite fancy things ( for those times ) with minimal effort. It had some basic code-snippets too and because of the scripting nature of ActionScript 1.0 and 2.0, it was easy to copy-pasting examples from the web and "hack things together" ( there were and still are a crap-load of tutorials on audio / video players and image galleries + more )
It was not the same with Silverlight... the IDE / tools were clearly developer focused, there were not many useful or easy tutorials around ( stuff that could get beginners / non-hardcore developers started ) and the existing community of engineers was simply not stimulated enough to start using it. Why would C#/C/C++ developers working on desktop application for years switch to building web applications suddenly?
Microsoft did try "buying the market", but it was in vain...
To me, they seemed to have no clear marketing / business strategy for Silverlight...
It was developed because they simply had the money to waste... "whatever happens, happens"...
... well, nothing profitable / good really happened.