CSS (Cascading Style Sheets) is intended to provide a way to separate page content (the text) from page presentation. The styles will include such things as color, fonts and layout information. Styles can be further separated from the content by placing them into a file that is linked to the web pages. This gives more flexibility, reduces duplication, and provides greater control over the look and feel of many web pages. CSS provides a way to state that all elements of a particular type will display with particular characteristics. So it might say "all main headings will be blue". This means that the web content does not need to define the required color. The styles consists of a set of rules that are applied to the various elements on the page.
CSS also provides a means to display content in different ways depending on the device it is being displayed on. So we could have devices that have different screen sizes (tablet, mobile phone, Desktop computer) but where the page is displayed with different formatting depending on the characteristics of the device. This is the concept of Responsive Web Design (RWD). We can also create styles that are used depending if it is for a printer or a screen text reader. For a printer for example, you may want no images to be printed.