The difficulty is adjusted based on how quickly previous blocks were created. The target is to have one block on average every 10 minutes. Roughly every two weeks, bitcoin clients look at the time between blocks for that period. If blocks have been coming faster -- like because more mining machines have been coming online -- the difficulty is adjusted upwards to slow things down again. I think the recent rise in difficulty is because a lot of people who ordered mining hardware a year ago are only just now receiving it. You should expect the difficulty to keep rising.
Take a look at https://en.bitcoin.it/wiki/Mining