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