I've been thinking a lot about User Experience (UX) recently.  How it's changed, why it's important, what the technology options are, ...

The Microsoft platform offers so much choice, it can be confusing.  So here's an attempt to offer some simplification and clarity:

Web

This is ASP.NET.  A very simple, and mature model.  Use it for predominantly server based web content.

Rich Client

There are two technology option here: Windows Forms (WinForms) and Windows Presentation Foundation (WPF).  WinForms offer a mature model that is used predominantly within the enterprise.  WPF is arguably a more powerful model that enables a greater degree of control for both the designer and the developer.  In fact the architectural approach means that the designer and developer can work in a way that hasn't been possible before.

Hybrid

This is Silverlight.  Conceptually the combination of the other two.  Although it should be noted that Silverlight offers a subset of the capabilities found in WPF.  It's about client applications running within the browser.  Because the code runs on the client the perceived performance can be better.

Hopefully the above simplification makes the choice more obvious.