Вы можете разместить все, что встроено в Win32 GDI / USER API (WinForms, элементы управления ActiveX), внутри приложения WPF, поэтому даже если вы сталкиваетесь с некоторыми ограничениями в приложении, в основном WPF, вы всегда можете разместить в нем несколько старых элементов управления .
А начиная с версии 3.5 SP1 вы даже можете довольно легко размещать анимированную графику DirectX (хотя поддержка WPF 3D обеспечивает свои собственные гораздо более простые способы достижения наиболее часто выполняемых задач).
Что касается сравнения, главное преимущество WPF перед WinForms заключается в том, что он тесно связан с собственной моделью на основе компонентов, поэтому очень большая часть элементов управления может выступать в качестве контейнеров для других элементов управления. Хотите поместить поле со списком в пункт меню? Не уверен, почему вы, но вы можете. Более полезно, вы можете поместить кнопку в поле списка (или в виде дерева). Такие вещи невозможны, если вы не внедрите все стандартные элементы управления с нуля (именно это делает WPF).
Недостатки, вероятно, носят временный характер: на некоторых машинах это может быть немного нестабильно (код рендеринга кажется уязвимым для отображения несовместимости драйверов), но это улучшается с каждым пакетом обновления. Кроме того, рендеринг текста подвергся жесткой критике - с сглаживанием ClearType он идет немного дальше, чем обычно делает Windows, поэтому некоторые люди жалуются, что он выглядит размытым.
(Причина, по которой это, вероятно, временные проблемы, заключается в том, что Microsoft Visual Studio 2010 принимает WPF. Поэтому они "едят свою собачью еду".)