In Drupal 7, custom blocks are custom database data that is managed by the block module. In Drupal 8 blocks became plugins (in #1535868: Convert all blocks into plugins) and custom block creation was moved to its own module. Custom blocks also became content entities with types similar to node types. Now users can add fields on custom blocks and create different custom block types with different field setup.