Bitcoin, at its core is a number, albeit a long, complex number. In order to obtain that number you must work an equally complex mathematical equation, which is called mining.
The Bitcoin algorithm was designed to make the mining process increasingly more difficult as more blocks are added to the blockchain.
Your PC takes information from each transfer in the block. Parts of each user's public key, signed by the proper private key, are all used to create this beautiful piece of math. A new amount of information is then added to the equation, which pays you the block reward. Once the equation is assembled, it is then "hashed" (or encrypted). Then, it is compared to the existing blockchain, thereby verifying the block, rewarding you for it, and broadcasting it to the blockchain, making it a historical fact. If your PC or mining equipment completes this process first, you get the block reward. As long as your equipment can perform this process billions of times in succession, you have a good chance of obtaining that block reward.
Why Do We Need Mining Pools?
As most people do not own equipment capable of reaching such lofty goals, another option would be to join a mining pool. Then, groups of miners work together to find the solution that gets the reward, split between the participants.
Since the process involves comparing every piece of information (coin) being transferred in the current block with the existing blockchain (to avoid double-spending and fraud), it is only logical that, with every block, the mining process becomes more difficult since there is more to be compared.
So, the difficulty in mining comes from tracking each Bitcoin transfer, with every transfer in every block before it, since the coin's history.