HTML (Hypertext Mark-up Language) describes the structure of the web page, using tags. It has tags for links, images, tables, videos, etc. Using combinations of these tags it makes it possible to build a full web page. Search engines crawlers analyse the HTML source of the web page to make it possible for you to “google” for the things you would like to see.
CSS (Cascading Style Sheets) is a language used to describe how the elements we have built up using the HTML language above will look like in the browser window. It can set the size, the alignment or the colour of an element, and it can specify what it should look like in different resolutions. In the last couple of years CSS has received some nice upgrades (for example, LESS and SASS) making it more configurable. Every web developer will know the basics of the CSS. However, CSS is easy to learn but hard to master.