Если в контексте лары, то простые вещи а-ля круд - прям в контроллере, простые, но требующие чуть больше чем 2-3 строки - уже разбиваю либо на сервисы (с максимально общими интерфейсами, а не getMyFavoriteBookForThisPresenter()), если дальше нужно уже декомпозировать и т.д. - команды (правда мне больше нравится называть их экшены), общая логика -зависит от проектов, ддд и остальное уже. Моя основная мысль - что не нужно городить что-то сложное там, где сойдет простое. Естественно о сервисах на десятки методов или с кучей ситуативной логики я не говорю, это бред