In simplest terms, the pages of your website are HTML documents. HTML (Hypertext Markup Language) is a language used to create the structure of a website. An HTML document is made up of elements like paragraphs, headings, images, lists, and divs. These elements form the foundation of your website, much like the foundation of a house.
CSS provides styling to your HTML elements, with colors, font faces, spacing, backgrounds, and more. It’s like the interior design of a house.
WordPress themes are a combination of HTML and CSS. Think of them like houses (HTML) that are already decorated (CSS), ready for you to move in with all of your belongings (your posts, pages, photos, videos). You can override the existing CSS of your theme with custom CSS to make it yours. For example, you can use CSS to make your post titles green.