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