Remember you might have a simpler way with less typing and ignore all his custom text, but that will cause it to leak (in other words lag) more. You might not see the differance, but if you have a quite a large amount of triggers running in the background you will notice the differance.
About the varibles:
1. Create a point variable
2. Set it to the position of picked unit
3. Set the point to a offset
4. Then you have your order to move the picked unit
5. Then you remove your point. In warcraft whenever you use the position of something it store it on your pc. It then use up ram. To prevent this we remove it. As seen above you type: call RemoveLocation(udg_ + the name of your variable )
you need the udg_ when you refer to variables in custom script
6. O, I forgot. The set bj_wantDestroyGroup = true in the custom script in the first line. He does this so that warcraft automaticly remove the leak that would be caused by your unit group.