For many developers XSL is a new and challenging approach to problem solving. Most solutions in Sitecore are remarkably simple, demonstrating the strength of the XML architecture, but most programmers start by trying to create and invoke variables and procedures or objects and methods.
XSL’s templating model is more of a side-effect free filter and transform engine not intended for procedural or object-oriented programming. Developers familiar with older CMS systems often spend hours banging their head against a wall and actually complicating the problem, which can be quite frustrating. Once a few tricks are learned XSL can be incredibly easy, in fact much easier to write than to explain.