1. Declarative - The User Interface is specified declaratively using XAML tags instead of tons of lines of code.
2. Layout - WPF has extensive support for intelligently laying out windows, and controls within the windows.
3. Vector Graphics - WPF uses vector graphics instead raster graphics that result in more eye-pleasing UI on different screen sizes. Furthermore, WPF leverages DirectX for performant UI rendering.
4. Templates - WPF supports Control Templates and Data Templates. A Control Template specifies the look and feel of a control across an entire WPF application. A Data Control Template specifies how data, such as a custom .NET class object, is visually rendered across an entire WPF application.
5. Styling - WPF supports CSS-type (cascading stylesheet) styling facilities.
6. Triggers - WPF supports Triggers when creating WPF Templates and Styles. A Trigger enables an automatic change of control properties when a certain control event is fired.
7. Animation - WPF supports Animation and is media friendly.
8. 3D Modeling - WPF supports basic 3D Modeling.
9. Designer Friendly - WPF is UI Designer friendly.
10. Separation of UI Code from Business Logic - WPF allows separation of user interface rendering from the business logic of the application (MVVM).