Cascading Style Sheets (CSS) is a simple mechanism for adding style (e.g. fonts, colors, spacing) to Web documents.

Why two Style Sheet languages (CSS & XSL) ?

The fact that W3C has started developing XSL in addition to CSS has caused some confusion. Why develop a second style sheet language when implementors haven't even finished the first one?
The answer can be found in the table below:
Can be used with HTML ?yesno
Can be used with XML ?yesyes
Transformation language ?noyes
The unique features are that CSS can be used to style HTML & XML documents. XSL, on the other hand, is able to transform documents. For example, XSL can be used to transform XML data into HTML/CSS documents on the Web server. This way, the two languages complement each other and can be used together.
Both languages can be used to style XML documents.
CSS and XSL will use the same underlying formatting model and designers will therefore have access to the same formatting features in both languages. W3C will work hard to ensure that interoperable implementations of the formatting model are available.
Use CSS when you can, use XSL when you must. {http://www.w3.org/Style/CSS-vs-XSL see CSS & XSL}.

Article extrait du site Loribel.com.