Модуль и компонент вряд ли имеют что-то общее, за исключением того, что они являются классами с декораторами, и поставщики могут зарегистрироваться с ними.
Компонент является видимой частью приложения с дополнительным поведение (обработчики событий)
модули были введены для разделения приложения для отложенной загрузки.
подмодуля, как правило, набор услуг, компонентов, директивы, и трубы, которые строят вместе многоразовую функцию. Добавляя модуль к imports: [...]
другого модуля, все его содержимое предоставляется доступному модулю импорта.
SubComponent на самом деле не является термином в Angular2. Есть только компоненты. Одним из компонентов является корневой компонент. Разница заключается в том, что корневой компонент создается при загрузке приложения Angular2, тогда как другие компоненты создаются, потому что их селектор соответствует HTML в представлении другого компонента.
Для этого, за исключением корневого компонента, все компоненты являются подкомпонентами.
https://angular.io/docs/ts/latest/cookbook/ngmodule-faq.html – Manish