I understand that there is a register between the memory controller and the DRAM and that commands are written into this register and "buffered" but I don't understand the advantage of this. All I can find is that it reduces load and allows more RAM to be added per DIMM. But I can't find it explained why?
Buffers allow signal regeneration at fixed points and allow a local split so that only one single device appears on the bus. That device handles splitting signals to local devices and handles powering the signals to each device itself rather than expecting the host, which is potentially far away, to do it.
The electrical load part is a feature of any electrical device. In order to sense any kind of current or voltage you need to leech a part of the current on the wire. This is the "load" of the device. A large number of memory chips on a stick presents a large load to the memory controller because it has to send enough power down the line that every device will still see the same voltage even after they have all leeched their power off of the line to sense it.
By putting a buffer in place on the stick you reduce the load from what could be 8 or 16 (chips on the memory stick) times the current needed to one chip per memory stick. The buffer takes the load of the chips on the stick and powers it from a more local source, leaving the host memory controller under less stress and the attenuation of the signal is a lot less than more devices would have.
With a large number of memory sticks the load without a buffer could be huge, with a buffer it can be somewhat more manageable.