Виджет - логически завершенная самостоятельная часть интерфейса. Виджеты позволяют вам упростить ваш код, привести его в логический порядок, и использовать повторно его код. Например, список новостей. Вы можете разместить его на главной странице сайта, а также на странице какого-нибудь продукта. Если очень условно - то виджет это как контроллер, единственное действие которого (run) рендерит какую-нибудь вьюху.