Win32 GDI / USER API(WinForms、ActiveXコントロール)に組み込まれたものはすべてWPFアプリケーション内でホストできるため、ほとんどがWPFであるアプリで制限が発生した場合でも、いつでもその内部で古いコントロールをホストできます。
また、3.5 SP1以降、アニメーション化されたDirectXグラフィックスを非常にシームレスにホストすることもできます(ただし、WPFの3Dサポートは、最も一般的に行われることを実現するための独自のはるかに簡単な方法を提供します)。
比較すると、WinFormsに対するWPFの主な利点は、独自のコンポーネントベースのモデルに密接に対応できることです。そのため、非常に多くのコントロールが他のコントロールのコンテナーとして機能できます。メニュー項目にコンボボックスを入れたいですか?なぜそうするのかわかりませんが、できます。さらに便利なことに、リストボックス(またはツリービュー)にボタンを配置できます。これらの種類のことは、すべての標準制御をゼロから実装しない限り不可能です(これは、WPFが行うことです)。
欠点はおそらく一時的なものです。一部のマシンでは少し不安定になる可能性があります(レンダリングコードはドライバーの非互換性を表示するのに脆弱なようです)が、これは各サービスパックで改善されます。また、テキストレンダリングは非常に批判されています。ClearTypeアンチエイリアシングは、Windowsが通常行うよりも少し進んでいるため、ぼやけて見えると不満を言う人もいます。
(これらが一時的な問題である可能性が高い理由は、MicrosoftのVisual Studio 2010がWPFを採用しているためです。そのため、現在は「独自のドッグフードを食べています」。)