In Drupal, the boxes which can be made to appear in various regions of a Drupal website are called Blocks. They are an extensible core feature of Drupal with a simple API provided by the block module. Blocks are similar to "widgets" in content management systems, but are altogether generalized. Blocks can be used to present anything, so just about all content on Drupal sites other than main content, breadcrumbs, and primary/secondary menus is usually a block.
The Block Administration page at
administer » site building » blocks lists all blocks in drag-gable table rows so you can just drag them between regions. Each block can be configured with conditions for its visibility (such as which user roles will see it) and on which pages it will appear (using path-matching). You can also use PHP code for more complex conditions, such as only showing a block for User #1.
Out of the box privileged users can create custom blocks (which may include PHP code if the PHP module is enabled) and modules can freely add blocks by implementing hook_block. (For example the Views, Contact, and Menu Blocks modules all add blocks to the site for specific purposes.) Modules may also add custom options to the block configuration forms of their own blocks, or applying to all blocks.
By default, each individual block can appear in only a single region of a given theme. However, if your site uses multiple themes blocks can be set to appear in different regions in each theme. Modules such as Panels, Context, and Section allow blocks to be placed more flexibly, greatly expanding the power of blocks.
This link has more recent information about Drupal's Blocks: