Jaka jest różnica między ContentControl a ContentPresenter?

Nie jestem pewien, kiedy powinienem użyć ContentPresenterzamiast ContentControl(i odwrotnie). W tej chwili używam ContentControlprawie cały czas w moim DataTemplate. Kiedy byłby ContentPresenterlepszy wybór? i