https://en.bitcoin.it/wiki/Difficulty has a good explanation, but in a nutshell, it's a "magic variable" that determines how easy or hard it is to successfully mine a block. The goal is for the network to average one block every 10 minutes, so every 2016 blocks (which in theory should be every 2 weeks), the system adjusts the difficulty based on how quickly those 2016 blocks were mined. If it took fewer than 2 weeks, the difficulty rises; if it took longer, then the difficulty goes down.
So yes, it is a delayed response to the pure amount of computing power in the network.