CSS (Cascading Style Sheets) allows styling and formatting of HTML documents. It provides greater typography and layout controls and easier site maintenance through separation of design (CSS files) from content (HTML files). CSS selectors target specific elements to change properties like colors, backgrounds, fonts etc. Styles can be defined internally, in a separate external CSS file, or inline within elements. Classes allow targeting elements with the same styling. Common CSS properties control text, backgrounds, fonts and other visual aspects of HTML elements.