A page object is a class that serves to interact with the Magento page. A page serves as container for blocks.
Block as a class represents a set of methods to manipulate with Magento UI blocks. It contains all logic you want to apply to the Magento block under page.
A block can have the following features:
Widget is a manageable component of Magento 2, which allows users to display data on frontend.Widget also contain block