CSS is used to style and lay out web pages. It allows setting styles for HTML elements that apply across multiple pages. There are three main ways to include CSS - inline styles using the style attribute, embedded stylesheets within the <style> tag, and external stylesheets linked via the <link> tag. CSS selectors like id, class, element and descendant selectors allow targeting specific elements for styling. Properties define aspects like color, font, layout etc and values set the styling.