Well every unit has an X and Y co-ordinate on the map, if you look in the world editor, put your mouse on the active map it actually gives you the co-ordinates of that point on the map, Setting the Unit's X and Y moves is (but more efficiently and lag-lessly than locations)
"How to use them" depends on what you're planning on using them for:
Their parameters are as such:
SetUnitX(Unit, Real)
SetUnitY(Unit, Real)
Unit obviously being which unit to move, and the real being the co-ordinate to move them to.
For unit manipulation for things like knockback, jump, running, etc. with spells you will find you need to use the following
GetUnitX(Unit)
GetUnitY(Unit)
Again, which unit to get the real of, Typically you need to set these to variables, or call them within another function
set TempX = GetUnitX(Unit)
set TempY = GetUnitY(Unit)
However while you can just add numbers to these variables to move the unit, normally they aren't relative and look wrong in given situations. To get them right you need to be using Sin and Cos and bj_DEGTORAD, typically, but are only relevent to use depending on what you're planning to use them for.
In the case that you've shown GetAttackedUnitBJ() returns the unit which triggered the event, which I'm guessing is a unit is attacked (although abusable) TempX and TempY in those cases have been set elsewhere, but again they are just real values (numbers) of co-ordinates on the map