Cascading Style Sheets (CSS) allow the separation of document structure (HTML) from presentation (styles). CSS is applied to HTML using style rules composed of selectors and declarations. There are three main ways to apply CSS - inline with the HTML, internally via <style> tags, or externally in separate .css files. CSS properties control text styling, box model properties like width/height, and other visual aspects of HTML elements. CSS selectors target elements by type, class, ID, and other attributes to style them appropriately.