Essentially a style sheet language that is used to define the look and formatting of a document written in HTML, XHTML, PHP, etc; CSS (Cascading Style Sheets) are by far and wide one of the topmost essential elements in the creation of a website design.
Designers use CSS documents to segregate a document’s content from the layout formatting, font colors etc. Yes, CSS styles can be applied directly into an HTML document in the Head of the document.
You might say that having elements like Heading (h1), sub-heading (h2) tags, and so on automatically take care of all headings and subheadings in your HTML document. So why use CSS? CSS allows a designer with much flexibility pertaining to the formatting of text, alignment, spacing, borders, shadows, hovers and lots lots more!
In my opinion having streams of inline CSS contents in your document wouldn’t only make the code look messy but could also confuse the developer that deals with your file if and when a project is transferred. With grid website design becoming more and more popular, it is best that a CSS file is maintained to ensure none of the codes in your CSS clash with those on your document.