According to this web site, here are some advantages and disadvantages of XSLT:
- Easy to merge XML data into a presentation
- More resilient to changes in the details of the XML documents than low-level DOM and SAX
- Database queries can be returned in XML
- Insensitive to column order
- Memory intensive and suffers a performance penalty
- Difficult to implement complicated business rules
- Have to learn a new language (if not already familiar)
- Can't change the value of variables (require recursions)
XSLT has been designed to use with XML.
Therefore, a scenario that most of the work involves XML transformation (e.g. to HTML or another XML tree) is probably the best scenario to use XSLT.
One example is the communications among organizations via Web Services where XML is used for data exchange.
For a normal website development, some other languages e.g. ASP.NET or php could probably be better choices.
They can handle complex business logic better than XSLT.
In term of a website maintenance where XSLT is needed in some parts, is it better to have every page transformed to aspx (or php, or whatever) using XSLT or to mix both normal aspx and XSLT pages? In term of performance, I guess only use XSLT when needed is a better choice. If the performance penalty for using XSLT can be negated, I believe using XSLT for the whole site could be a better idea (for the maintenance reason).