An XDF is a definition file that makes it simpler to modify ECU ROMs/BIN files.
Basically, when you look at a BIN file in a raw (hex) editor, the file appears as a pile of numbers. Smart people (like ipdown, blabla, and others I am sure) who understand 8051 machine code start prying the file apart.
Generally ROMs have two different types of information: code and data. The code is typically left alone in most chips, as it usually is fairly well written for the application. The data is what we are interested in.
When you start prying a bin apart, you may find that at location X, a fuel table begins. TunerPro lets you create definitions (basically a slightly more complex bookmark) of sorts that indicates the location of anything you wish.
So we've found the fuel table. Instead of editing it by hand, manually, we tell TunerPro that the table is 16x16, starts at offset 0x38c1, and is 8-bit (0-255). TunerPro uses this information and makes a nice table that is easy to adjust.
Once you have defined a few tables, flags, or constants, you can save the definitions in an XDF file. Other folks can use the XDF file to easily adjust the defined parameters in similar ROMs.
The downside is that you can have extremely similar ROMs with data in different locations. For example, the software on most of the 9xx series LH 2.4 ECUs is interchangable, but the XDFs are not. For example, an XDF for a 962 won't work for 984.
Once you play with it for a bit, it will start to make more sense.
TL;DR: XDF files tell TunerPro where parameters are stored in memory, making changes easy.