Зависит от проекта конечно, но в понятие модуль обычно вкладывается что-то очень больше и независимое, например система управления пользователями, система управления платежами и т.д. В терминологии Symfony - это называется Bundle.
Модульный подход имеет место быть для случаев, когда эти самые модули разрабатываются разными командами и обладают минимальной, на сколько это возможно связью между ними.
А если мне нужно написать модуль регистрации пользователя? Как здесь быть?
Не использовать парадигму, которая вам не подходит. Почитайте про SOA. Если в двух словах: сервис - это некий набор бизнес логики, который умеет обычно всего одно действие, но делает его качественно.
Для сервиса регистрации данных вывод шаблона не нужен. Все, что он должен уметь: проверить входные данные для регистрации, сохранить их и оповестить свои зависимости об этом (например сервис отправки почты).
Разбивая проект именно на модули, но со сильной связностью вы постоянно будете сталкиваться с ситуациями: одни и те же действия/данные в разных контекстах требуют либо большего дробления (переход к сервисам), либо усложнения, что бы обхватить это количество контекстов.
З.Ы. Битрикс и "качественная архитектура" - это вещи не совместимые))