CSS (Cascading Style Sheets) allows styling and formatting of HTML documents. CSS separates formatting from HTML content to make web pages more modular and customizable. There are three ways to apply CSS - internal style sheets within HTML <style> tags, inline styles within HTML elements, and external style sheets in separate .css files. CSS rules define selectors, properties, and values to style HTML elements.