Qual è la differenza tra una proprietà di dipendenza e una proprietà associata in WPF?

Qual è la differenza tra una proprietà di dipendenza (personalizzata) e una proprietà associata in WPF? Quali sono gli usi per ciascuno? In che cosa differiscono tipicamente le implementazioni?