CSS (Cascading Style Sheets) is a rule-based language that applies styling to HTML elements. There are three main ways to apply CSS styles: inline styles, internal style sheets within <style> tags in the <head>, and external style sheets linked via <link> tags. CSS controls elements' properties like color, font size, width, and more using selectors, declarations, and properties. Common selectors include element selectors that style all elements of a type, and ID selectors that target elements with unique IDs. CSS separates structure from presentation, allowing for easier maintenance and interchangeable styling.