Don’t get me wrong, HTML all on its own can be used to create webpages with a structured layout, albeit without any styling, so it’d look pretty pants to be honest. And so we should always use CSS to style the HTML – we can set things such as font styles, colours, borders, margins, etc.
For example, we can programmatically modify the HTML structure, i.e. the layout of the elements on the page which are otherwise fixed as declared by the HTML code that we initially write as the basis of our document. We can make pages respond to user input – for example by calling a function when the user clicks on an image thumbnail – the large version of the image is then displayed.