Pete Brown from Microsoft wrote a great post summarizing where we are really at with WPF. There has been a lot of discussion on various lists and forums lately that painted WPF as a legacy technology and that created a lot of FUD around choosing to use WPF instead of Silverlight or even HTML5.
The fact is WPF is a great, mature, and capable client technology today and will remain so for the forseeable future. If you are trying to write apps for the desktop instead of the browser and you want the most capabilites, least barriers to development, and especially if you want deep integration with the desktop or other applications or devices on the machine, WPF is the right answer over Silverlight and especially over the not-fully-baked-or-tooled HTML5. Silverlight 4 is a fantastic technology and has come a long way since v1. And it does in fact have a number of capabilities that Silverlight got (i.e. RIA Services) that WPF did not, which I wish was not the case. But at the fundamental capabilities level, WPF is still a more powerful technology and will remain so for a long time to come.
The analogy I used in one of these discussions recently where someone was claiming WPF was dead was that you don’t send your triple crown winning thoroughbred in his prime to the glue factory just because there is a promising young colt in the barn. Silverlight 4 is great, but it still has a lot of maturing to do before it could really be considered a replacement for WPF. And at that point they will look so much alike it will probably not be an either-or decision, it will probably look a lot more like a change of deployment options.