¿Cuál es la diferencia entre ContentControl y ContentPresenter?

No estoy seguro de cuándo debo usar en ContentPresenterlugar de ContentControl(y viceversa). Por el momento, estoy usando ContentControlcasi todo el tiempo en mi DataTemplates. ¿Cuándo sería ContentPresenteruna mejor opción? ¿y por