CSS is used to control the style and layout of web pages. It allows control over color, font, size, spacing, and various other visual effects without having to modify the HTML content. CSS rules are made of selectors that specify which elements the styles apply to, properties that define what is being styled, and values that are assigned to the properties. There are different ways to associate CSS with HTML including internal stylesheets, external stylesheets, inline styles, and CSS imports. CSS prioritizes rules based on how they are associated with the HTML.