CSS (Cascading Style Sheets) is a language for styling and formatting web pages. It allows developers to control the layout and presentation of HTML documents, saving time by applying styles across multiple pages at once. CSS rules contain selectors that target HTML elements, properties that define what is styled, and values that determine how it is styled. There are three main ways to define CSS - inline, internal, and external stylesheets. External is considered best practice as it allows styling multiple pages with one CSS file. CSS selectors like ID, class, and pseudo-selectors are used to target specific elements for styling.