Если нужно добавить в класс функциональности, но конструктивно желательно её отделить.
Самый простой пример - экспорта объекта. Нехорошо будет, если процедуры экспорта вторгнутся в базовый класс: экспорт часто меняется, экспорт больше зависит от факторов, которые лежат в стороне, от факторов, которые влияют на базовый класс, возможно надо будет экспортировать несколькими способами.
Поэтому делают примесь, где этот экспорт реализуют.