Cascading Style Sheets (CSS) allow separation of document structure (HTML) from presentation (styles) and behavior (scripts). CSS defines how elements are presented, including fonts, colors, spacing, and layout. Styles can be defined internally, in separate style sheets, or inline. The "cascade" combines multiple style definitions, prioritizing more specific styles. CSS enables semantic HTML, accessibility, and separation of concerns between design and content. It has largely replaced presentational HTML tags and table-based layouts.