xml is a markup language (pretty much like html) that is used to hold data structures.
it will benefit you because it will allow you to send and recieve structured data to external applications.
for example, UPS has a web service that provides you with shipping quotes. you send them your request structured in an XML format, and they will send you a response. it does not matter what language their app is written in, and it doesn't matter what OS their APP is hosted on.
another example might be to use XML as a configuration file for your application. user's these days are somewhat comfortable modifying an XML file to set user configurations. you can read in their config to customize your app. alternatively, you could easily use a Java library to modify the configuration file if you would like to maintain information while your program is not running without a database.
Don't worry too much about understanding everything about XML/XSL. Most of the time you only are going to have to worry about reading or writing to a file.
I don't have any books I can recommend, but I would suggest just looking up a tutorial on how to read and write an XML file with Java.
Here is an example of reading an XML file with Java. I'm sure there are many others around.