is there anything that competes with XSLT. I really just cannot wrap my head around XSLT.
Not precisely, but if you want to help your head learn to wrap around CS concepts related to XSLT I suggest doing some reading on things like formal grammars and syntax trees.
Well, you can write you own parser, and express the transformation that you'd "normally" with XSLT in whatever language your parser is in.
For example, say within C# or VB you can leverage the xml library and easily read an XML document in the DOM, and create a parallel XML document or merely alter this one. This would still require you use XPath to select elements and such, but maybe overalL "easier", well more explicit anyway, than XSLT.
For specific XML languages (or even non-XML languages like HTML), some specialized frameworks like JQuery can also rewrite/transform etc. in an XSLT-like fashion. I'm sure various other tools and framework can do similar things for other XML languages like RSS, RDF or various specialized XML applications.
I do encourage you to learn XSLT however as it is quite a powerful tool.
It depends what you want to do, and what programming language you're working with. If your job is just to map XML into some other representation, you may find it a lot easier and more efficient to use some XML parsing library to get the XML document into a tree structure (a Document Object Model or DOM tree) and then write code to walk around in the tree to generate what you need. For example in Java you could use the built-in JAXP library to do this.
XQuery can be used as an alternative, though the lack of "pattern polymorphism" of XSLT templates is somewhat limiting (but perhaps this is precisely what you have trouble with?). That said, it's still a side-effect free, declarative language, so if it is that aspect you cannot wrap your head around, this won't help you much.
FreeMarker is in many ways easier than XSLT and may be a good alternative, depending on what exactly you need to do.
Update (based on OP's comment)
I would definitely recommend you take a look at FreeMarker then. Here is a page with some simple examples showing how to display book / chapter / paragraph hierarchy; it might be very close to what you need.
I've not yet found anything that replaces XSLT very well. However, xslt is really just a structured way of rebuilding a tree by pattern matching. Most "real" programming languages can do something similar by simply writing a custom matcher/dispatcher.
XSLT is mostly scaffolding around XPath - and the strength of XPath lies in the fact that it can easily describe matching circumstances that aren't entirely local (i.e. elements with a certain attribute when descendents of some other element with a different attribute, etc.). Often enough, you don't need that flexibility - and when you don't you can get away with a more straightforward selection tech. Linq to Xml, for instance is something like that.
My recommendation to most people that don't like XSLT is to avoid using it for complex tasks. XSLT is a very poor programming language. Think of it as a fancy version of css - flexible, powerful, and often far less bug-prone than a procedural language when used in a limited fashion. But, it works best if you've thought about the structure of the input xml: If you need to group by some attribute, or rearrange tree in a complex, interrelated fashion - do that in code. If you need to expand a lots tree with lots of special cases and wordy markup, XSLT is great.
Depends on what you're looking for. If your goal is to write as many brackets/parens to accomplish a specific task, take a look at LISP.
No, seriously, I think that for any given problem, there is always a better solution than to use XSLT.
This MSDN article LINQ to XML for XPath Users is my first clue that Microsoft both supports XSLT and is providing various ways to get around it. The suggestion here is that some combination of XAML and LINQ to XML will help you avoid XSLT for many scenarios.
However, investing in XSLT provides a cross-platform, server-side solution that cannot be beat. Any XML-based UI technology (WPF, XHTML, Flex, XUL, etc.) will benefit from an XSLT-based pipeline. But how many commercial vendors will encourage their customers to build in such a flexible manner?