Как упоминают Габриэль (и Рид), Silverlight - уменьшенная версия WPF.
WPF предназначен в основном для настольных приложений и обладает расширенными функциями макета, анимации и привязки данных, которых у Silverlight еще нет. WPF может быть доставлен через браузер, но он не работает как плагин для браузера и поэтому не может взаимодействовать с любым другим контентом в браузере. Можно создавать приложения WPF, в которых размещаются элементы управления и окна WinForms - это может упростить перенос портфолио существующего кода WinForms (если это важно для вас). WPF также обладает более сложными 3D-возможностями, чем Silverlight, хотя и ненамного.
Siverlight , доступен на нескольких платформах (например, Linux и OSX) через среду выполнения Mono и порт Silverlight Moonlight. Silver light может работать как автономное приложение, так и в среде браузера, что позволяет создавать веб-приложения. При запуске в качестве плагина на основе браузера приложение Silverlight может взаимодействовать с содержимым в браузере и может отображаться рядом с HTML. Вы также можете управлять приложением Silverlight с помощью JavaScript - создавая практически бесшовную среду программирования. В приложениях Silverlight есть некоторые ограничения - например, все вызовы WCF являются асинхронными (из-за модели потоков Silverlight / Browser). Кроме того, не все SDK платформы .NET Framework доступны для приложений Silverlight.
Обе технологии очень похожи в том, что они используют комбинацию разметки и кода для предоставления функциональности. Чтобы выбрать между ними, вам нужно решить, создаете ли вы браузерное или автономное приложение, хотите ли вы быть переносимым на другие платформы, и нужен ли вам полный набор библиотек, доступных в .NET.
Что касается средств разработки, то лучшим из всех, на мой взгляд, Expression Blend, является элегантный и мощный пользовательский интерфейс для визуального создания пользовательских интерфейсов WPF или Silverlight. Он также интегрируется с Visual Studio, которая по-прежнему является превосходной средой разработки (Blend имеет ограниченные возможности редактирования кода). Существуют также такие инструменты, как Expression Design и Expression Encoder, которые помогают создавать графику и управлять видео для использования в приложениях WPF и Silveright.