The difficulty adjustment is the key to a stable money supply. The difficulty is adjusted every 2016 blocks (approximately every two weeks) based on the time it took to mine the previous 2016 blocks. If the network is finding blocks faster than every 10 minutes, the difficulty goes up. If slower, it goes down.
This is what makes it possible for Bitcoin to be a decentralized currency. The money supply is determined by a fixed schedule rather than by a central authority.