CSS (Cascading Style Sheets) allows styling and layout of HTML documents by separating the presentation from the content, making it possible to change the look of an entire website by editing one CSS file. CSS uses selectors to apply specific styles to HTML elements via declarations that set properties like color, font, size and more. Styles are defined in CSS files and can be applied to HTML documents via internal, external, and inline styling methods.