Charles Petzold in questo post sul suo blog indica che usa spessisimo le dependency properties, anche quando queste "non devono far altro che essere usate come sorgente di Binding".
Inutile dire che sono contrario a questo approccio, definire delle business entities che espongono delle Dependency Properties impongono che l'entity stessa derivi da DependencyObject legando inesorabilmente l'entity stessa a WPF quando il suo utilizzo potrebbe essere condiviso da tecnologie diverse (es: ASP.NET o Compact Framework)
Visto che le sorgenti di binding in WPF non devono necessariamente essere delle dependency properties, l'uso delle varie alternative, come la più comune implementazione di INotifyPropertyChanged è, secondo me, da preferire.