компоненты используются, когда вы хотите включить какой-то блок в разные части сайта (например, «10 лучших продаж» или что-то подобное) - для этого требуется некоторый код контроллера для рендеринга. Вы включаете вывод компонента в другой шаблон действия / частичного / другого компонента, используя
include_component($module_name, $component_name, array('var1' => $var1));
предполагается, что действие вызывается браузером напрямую, поэтому вы не можете включить его вывод в другой шаблон (без какого-либо взлома)
Думайте о компонентах как о многократно используемом блоке html, который можно включить куда угодно, по сравнению с действиями, которые представляют собой целую страницу, отображаемую и отправляемую в браузер