Joy
(@joyously)
There really aren’t that many ways to layout the content of a page. The page itself can be anything. The theme puts the content into its layout of header, sidebar, content, footer.
I would pick a theme that looks good for the majority of your content. Then you can enhance it with a child theme that adds a page template or a custom template for a particular post type (using the naming scheme of the Template Hierarchy so it’s used automatically).
The difference in a pre-made theme and a custom theme is maintenance and support and testing.
And look at the plugin Advanced Custom Fields to help you craft those custom content types (and with the Pro version) blocks.
Firstly you should expect to be customizing your chosen theme as a child theme, this is an update safe method. Details here:
creating a child theme http://codex.ww.wp.xz.cn/Child_Themes
If you find yourself choosing a child theme as a base then this may be relevant:
https://github.com/woothemes/theme-customisations
There are a bewildering range of themes to choose from, I think that “the look” is low in the criteria, again my opinion is that aspects such as viewing context be it Mobile / tablet / browser etc. Then there is integration as out of the box support and configuration with various plugins such as WooCommerce, this can save you a lot of work if your usage indicates. Finally it comes to the look, do you have a website colorscheme in mind, is it dark or light ? What about logo ? See how this relates to a theme’s header and footer, also sidebars etc. Yes you can customise any aspect of a theme but this has a longer reach than one would expect. For instance I inherited a website which had been changed to a dark background in the child theme, years later I find that filling in an alternate delivery address is impossible as the text did not contrast with the form background.
Building your own theme is a whole lot more work.
Beware of themes that are built on a common framework because they are often installed as a child theme. Because you cannot have a grandchild theme, your customizing options are more limited. Frameworks are not uncommon among commercial themes. It’s often not clear that a framework is used until you examine the source code. Any child themes in the WP repository should be marked as such. It’s rare in repository themes. It is possible to customize framework based themes from a plugin, but it’ll take greater effort.
If you are tempted to create your own theme because there’d be so much altering of the best fitting pre-made theme, you should instead build upon a starter theme like the one from https://underscores.me. It provides basic functionality and virtually no appearance. It’ll save you a lot of work developing basic functionality.
If you’re going to be using WP, you may as well adopt WP nomenclature. Here a “template” is an individual file that outputs HTML for a specific purpose like an archive of posts in a particular category. What’s called a template elsewhere, and what you called a template, we call a “theme”, a collection of template files and other code necessary to display site content in a specific manner. Not a big deal, we knew what you meant. But using the accepted nomenclature within the WP world might help prevent future confusion.