Компонент - это php класс с каким-нибудь функционалом, виджет набор компонентов + html код, модуль отдельный раздел на сайте, на пример аккаунт. вроде так в первом yii было. Во втором не знаю, но личное имхо лучше первый уже не использовать, не особо он гибок. А вот что на самом деле гибкое так это Symfony2 , но он и сложнее будет в изучении. В пользу симфони скажу что там есть автоматическая генерация таблиц в БД на основе моделей + миграции.