Why is mining difficulty increasing? I have heard in many places that mining difficulty is increasing, meaning that the hardware used to mine new coins will need to be more and more powerful as time goes on.

What is pushing mining difficulty upward? Is it related the number of people mining (a supply and demand kind of thing), the size of the blockchain, an intentional system design?

I found two related questions 1 2, but they are not exactly the same. I am more interested in what factors affect the difficulty and how. For bonus points, include predictions about future conditions.
The mining difficulty directly reflects the amount of computing power that the Bitcoin network has. This is adjusted on a periodic basis so that the average block solution time is 10 minutes (Bitcoin clients recalculate the difficulty every 2016 blocks). The difficulty can go up or down depending on how much effort people are putting into mining.

More information about difficulty can be found on the Bitcoin wiki.