Это огромная тема, и вы можете читать статьи весь день на Flash-vs-Silverlight-vs-AJAX.
Я использую Silverlight и был полностью на седьмом небе, когда он был выпущен из-за возможности использовать CLR в браузерных приложениях. Разработка Javascript / DHTML сводит меня с ума, и для меня Silverlight был моим способом вырваться из лап. Что касается Flash, то мой краткий набег обнаружил, что ActionScript более болезнен, чем Javascript, но это было много лет назад, и с тех пор все, несомненно, улучшилось.
В основном, если вы используете .Net для своего бэкэнда, то имеет смысл использовать Silverlight для бэкэнда. Это означает, что у вас есть только одна среда разработки и язык для работы, и, где это уместно, вы можете повторно использовать большую часть своего внутреннего кода на клиенте.
На практике это не так просто, и мой опыт показывает, что на земле пользователей существует большое сопротивление Silverlight. Основным предметом раздора является то, что кросс-браузер и поддержка операционной системы недостаточно хороши. Пользователи, использующие Opera или использующие Linux или PowerPC Mac, не могут использовать Silverlight (Moonlight еще не существует). Эти пользователи, как правило, вокальные.
Если вы знаете, что все ваши пользователи будут работать в IE / Firefox на Windows / Mac Intel или у вас есть привлекательное приложение, для которого пользователи будут изменять свои настройки, то Silverlight почти наверняка ваш лучший вариант. Если у вас есть приложение, которое вы хотите использовать для широкого круга пользователей или разрозненных пользователей, вам, возможно, придется взвесить варианты немного больше.