WPF provides features for building Windows client applications using markup (XAML) and code-behind to separate application appearance and behavior. It includes controls, layouts, data binding, graphics rendering, animation and media playback capabilities. WPF applications can be standalone windows or browser-hosted and supports different document types including flow, fixed and XPS documents. It allows customizing applications through styles, templates and other features.