HubSpot's themes article describes a theme as a set of templates, modules, global content and style settings for creating a website. Templates are page layouts. Modules are the blocks you place on a page, such as a heading or a form. Global content repeats across pages, like the header and the footer. Every account has at least one default theme, and more are available in HubSpot's Template Marketplace.
Suppose you run marketing at a 20-person software company and need a page for a new integration. You pick a template from the company's theme, add a heading, three feature cards and a form, and write the copy. When you click Publish, the page goes live. The fonts and colors come from the theme's style settings, so the new page matches the rest of the site.
A developer comes in when the page needs something the available modules can't supply, such as a pricing calculator. That custom module has to be built before anyone can add it to a page.