CSS is used to define styles for web pages, including design, layout, and display across different devices. There are various types of CSS including inline, internal and external stylesheets. CSS selectors are used to select elements to style, and there are different categories like simple, combinator, pseudo-class and pseudo-element selectors. The CSS box model consists of margins, borders, padding, and content. CSS properties like position, display and media queries allow controlling how elements are displayed on different media types and screen sizes.