As far as the concept i understood...
A widget is somehow similar to a static block but not exactly.
As a concept, a widget is a unique key (widget type) that maps to some code, and a set of parameters used by that code.
(A widget is a snippet of code that makes it possible to display a wide range of content and place it at specific block references in your store. Many widgets display real-time, dynamic data and create opportunities for your customers to interact with your store. The Widget tool makes it easy to place existing content such as static blocks with images and text, and interactive elements most anywhere in your store.)
These way you can add a widget in .phtml file
<?php
$filter = Mage::getModel('widget/template_filter');
echo $filter->filter('{{widget type="cms/widget_page_link" template="cms/widget/link/link_block.phtml" page_id="2"}}');
?>
A static block is actually some text that can contain other elements (like widgets).
The difference between them from Magento's point of view is that you can place different widgets in different sections of different pages using the backend UI. The static blocks can only be placed in fewer page types and sections.
Static blocks can contain widgets and the other way around.