Content blocks, which were introduced with Umbraco v8, are a great way of constructing your own page layouts using autonomous, self-sufficient content structures that can be placed in any quantity and order inside a page and be separately configured.
At DotSee, we adopted the idea of content blocks even before they were implemented on Umbraco, starting with the uMazel Starter Kit for Umbraco v7, where we used a folder under each page that contained "blocks" that were then injected into the page to provide similar functionality and going on to implement actual blocks on the v8 version.
Blocks allow you to "synthesize" a page exactly how you would like, without the need for complex templates and multi-screen-long property lists on the main document. They can be used for things like banners, forms, FAQs, galleries, lists, practically whatever can be used on a page.
They can also have sub-blocks, for example, you can have an accordion with accordion entries, or a gallery with images, or a team list with each team member being a different sub-block. And that's where you need to be more demanding about the info that's being displayed about blocks in the Umbraco back office.