CSS (Cascading Style Sheets) is a stylesheet language used to describe the presentation and formatting of HTML documents. CSS allows specifying styles like colors, fonts, spacing for HTML elements. There are three main ways to apply CSS - inline using style attributes, internal using <style> tags, and external linking a .css file. CSS rules contain selectors that specify elements to style and declarations that define properties and values to apply. Common selectors include tags, classes, IDs, and universal. This allows consistent styling across web pages.