WordPress widgets are tiny blocks that carry out a specific function. These widgets can be added in sidebars (i.e. areas of your website ready to use widgets) on a web page.
Originally, WordPress widgets came about to offer a straightforward and effortless way of imparting to the user the structure and design to control their WordPress theme. Widgets are easily dragged and dropped into a specified widget area where you want that function to show up. A list of available widget options, and your available widget areas can be accessed in the Appearance area, under the Widgets section of the WordPress dashboard.
When you add a widget into WordPress, you are able to add new content and specific features in the parts of your theme that is set up for widgets. These are mostly in your sidebars, but can also be found in the header at the top of your website, the footer at the bottom, below any content, and any other area that your WordPress theme allows. Location of the areas available for widgets will vary by theme.
The majority of WordPress themes are set up to use widgets in many different areas on the website. However, it is not mandatory for themes to include widget areas. If widget areas are not visible or available, it indicates widgets are not supported by your theme.
There are numerous types of widgets. By default, WordPress comes with many different widgets, including a tag cloud, categories, calendar, navigation menu, search, recent posts, etc. Dragging the recent posts widget to a widget area will make a list of recent posts available.
For the most part, widgets are portions of code that standalone and perform a prescribed function. Plugins often have their own widgets in order for users to have more control over the plugin function displays. For example, OIO Publisher allows the addition of an ad zone in specific areas with the use of the widget.