Originally posted by brothercake
You don't have to, but XSL is far more powerful; what you can do with CSS is more limited, even with CSS3.
Hmm, if I'm not mistaken, XSLT is not at all a styling language, but a transformation language. if you want to use XLS for styling, you need to look into XML-FO.
However, XLS-FO destroys a document's semantical and structural meaning, changing it to pure style, while css allows the nice combination of a preserved semantical structure while styling a document.
Then we have the bindings languages, HTC/Behaviors, and XBL. Those are not standard, but allows for something that could be called "non-destructive transformation" or "expansion" and styling through regular means (css).