Ваш контроллер реализуют конкретную бизнес логику. Представьте что потребовалось реализовать ту же бизнес логику - но используется soap протокол/либо очередь - например на базе amqp, или вообще запуск происходит через консоль. Если под таким ракурсом посмотреть то окажется что есть - общая часть, которая не зависит ни от того http запрос вы обрабатываете, берете ли входные данные из консоли, или из сообщения из очереди - вот этой части которая инкапсулирует в себе бизнес логику - чаще всего в контроллере делать нечего.