From kentico's documentation.
Widgets are pre configured web parts.
Every widget is based on a web part. You can create widgets with the same functionality as most web parts in the system. If you require a widget with completely new custom functionality, you need to develop an appropriate web part first.