CSS (Cascading Style Sheets) is a set of rules that contains elements of style for a web page such as colors, fonts, borders and sizes. Keeping style elements separate from HTML content has advantages like cleaner HTML code, faster page loads, and the ability to efficiently make changes across many pages at once. There are different types of CSS documents including external style sheets in separate files and internal style sheets within HTML files.