Совокупный корень - это сложное имя для простой идеи.
Главная идея
Хорошо разработанная диаграмма классов инкапсулирует ее внутренности. Точка, через которую вы получаете доступ к этой структуре, называется aggregate root.

Внутренние элементы вашего решения могут быть очень сложными, но пользователь этой иерархии будет просто использовать root.doSomethingWhichHasBusinessMeaning().
пример
Проверьте эту простую иерархию классов

Как вы хотите ездить на своей машине? Выбрал лучший API
Вариант А (просто как-то работает):
car.ride();
Вариант B (пользователь имеет доступ к инерналам класса):
if(car.getTires().getUsageLevel()< Car.ACCEPTABLE_TIRE_USAGE)
for (Wheel w: car:getWheels()){
w.spin();
}
}
Если вы считаете, что вариант А лучше, то поздравляю. Вы получаете основную причину позади aggregate root.
Совокупный корень инкапсулирует несколько классов. Вы можете управлять всей иерархией только через главный объект.