Although XML is real good for web publishing (after all, that's what it was designed for), its most useful applications are in data exchange and e-commerce. In data exchange, web sites zap files to each other. What files? Anything: a price list, a bank statement, the latest news, a tax declaration or an order.
Yes but what about style sheets? Obviously this is not a formatting issue. Absolutely but remember XSL is mainly a transformation solution and there is a lot of transformation taking place in data exchange.
Let's follow the trail of an order, as an illustration. Let's concentrate on the paper order first, the non electronic version. The first step is probably to fill an internal form to request a budget for the expense. When it is returned, signed, the employee can fill the supplier order form.
Now wait! What this order form? How does it differ from the internal form? The truth is they share the same information but in a different format (I almost wrote presentation). They are different because they serve different purposes but the underlying information is common. For example, the vague product description on the budget form (a laptop) becomes a precise product reference (this model with these options).
After shipping the goods (hopefully), the supplier issues an invoice. How does the invoice differ from the order form? Again, it serves a different purpose but it's the same underlying information: the goods and their price.
The electronic version of these documents undergo the same transformations... and then there some more. With XML, different organizations may use different vocabulary, think of it as different forms. That means more transformation.
XSL is the tool of choice for these transformations: not only is it powerful but it is also supported by a standard, meaning there is no shortage of tools to choose from.