A CSS is a file that is used and "attached" to the (X)HTML document:
Basically, what it does is contain all the formatting and presentational aspects of the HTML document. This makes the files smaller, and best of all, makes it easier to make global changes by just editing the CSS file.
Go here to learn more: http://www.w3schools.com/css/default.asp
In simple words, a Cascading Style Sheet(CSS) makes a readymade template with specific coulours, pictures, headings etc...
If u r making a website with lot of pages, then u just have to add the code for using the css file in beginning of each of the html file. u don't have to type the whole code.