Hello DrHiggins,
It is very easy to understand: xmr network must find a block every minutes. So to sustain this goal, the difficulty is adapted belonging the global hashrate at the moment, and the average time of the last 2000 block founds. The more hashrate, the faster to find a valid block, at same difficulty. So the difficulty raises to counterbalance the raise of hashrate, and the difficulty lower to counterbalance the decline of hashrate.
This to ensure that a block is found every minute (more or less)