There is a good overview of WPF on MSDN:
http://msdn.microsoft.com/en-us/library/ms754130.aspxWhat I like about WPF is that the underlying graphics technoligy is NOT GDI/GDI+ ... it is DirectX. Better yet ... it bases its scaling on a system DPI setting versus the physical display. This makes UIs much more sane.
In terms of UI ... even the lamest of appications can get anti-aliasing and transparency and transforms the work to the graphics card. However - if you aren't at vista or better ... you aren't getting the benefits of WDDM (Windows Display Driver Model) since the older OS don't support it.
There is much good in WPF .. Silverlight is a step up on it. In WPF, you have the DirectX dependency which limits you to MS platforms. The eventing model is better as well ...
In Silverlight - drawing is further abstracted. THis provides some more open platform independence. Silverlight has an oper-source counterpart "Moonlight" based on the Mono project. Outside of Visual Studio ... haven't really played with any open source alternatives. In my day job ... I use Visual Studio 2K10.
http://www.silverlight.net/The link above is where you can snag the SDK and other useful tools.
In both cases they are based on XAML (Extensible Applications Markup Language) ... (pronounced zammel) ... the link provided above gives a brief overview of XAML.
I like XAML since it completely decouples the business logic of drawing the UI from the code. For example - winforms ... everything is C# or your favorite managed language and it is defined in code. As you drop stuff on the design surface ... it becomes part of the class.
Thus - you compile it ... the UI is pretty much as ugly as you make it. Personally - I have the artistic sense of a rock and many may think my choices of styles and colors suck.
With XAML you can quickly alter the look and feel without dipping into the code and refactor the UI without having to dig in the logic.
HTML 5 is the next step ... it is XAML like in the way it is structured. The distinction is that it further abstracts the concepts of drawing canvas and applications. Have just started playing with this ... but I would guess it is going to get more traction since an abstract drawing canvas and UI layer makes a really broad application possible. i.e. Android, MacOS, JVM, Windoze, Linux would run the engines that do the bindings to the OS and the underlying engines and a common application would be run in the environment of the host.
In terms of my programming tools mentioned i.e. Infragistics, Telerik, ComponentOne ...
www.infragistics.comwww.telerik.comwww.componentone.comThey are all just providers of libraries for different technologies ranging from Winforms to Silverlight to HTML 5 frameworks. Licenses for these cats ain't exactly cheap ... but if you are doing some coding for profit ... they do offer some really lightning fast alternatives to stock MS stuff.
And, of course, I can always be pursuaded to build a DLL based on some of their stuff which can provide better functionality when required, hehe.