CSS is a style sheet language used to describe the presentation of HTML documents, including how elements are displayed on the page, how they are laid out, and their colors, fonts, etc. CSS allows customization of HTML elements through declarations that specify element names and property-value pairs to style elements, and different selectors like classes, IDs, elements are used to target specific elements for styling. The CSS box model describes the layout of elements as boxes that can have properties like margins, borders, padding, and dimensions set to control appearance.