Blocks are mini playbooks that users can create and reuse in other playbooks. The Blocks can implement workflows and logical decisions that might be useful in multiple playbooks. When you edit or change a Block, all playbooks using it will be affected which allows easy maintenance and playbooks improvement.
When Blocks are used within other playbooks, users can configure Input parameter fields into the Block to alter its inner flow of actions.
The Block can also return an Output value into the parent playbook to allow interaction and conditioning between the two. Before you create these blocks, it’s advisable to map out specific processes that you can can easily reuse in parent playbooks, as well as giving thought to Inputs which can be configured per need.

The following video provides a more detailed explanation into creating and using Playbook Blocks.