Things like "mining" still seem confusing cause really what the heck are you mining for lol Yes bitcoins but what makes a bitcoin...
Mining is a really bad name for it, but it's the name that we're stuck with.
Miners (or mining pools) are actually transaction processors. They take the list of unconfirmed transactions, verify that they are valid, and then do some work to add them to the blockchain to confirm them and permanently create a consensus on which transactions actually happened and in which order.
For doing this work, the "miners" (or mining pools) are paid a reward in each block that they add to the blockchain. This reward consists of all the transaction fees from all the transactions that they added to the blockchain, AND a block subsidy of newly created bitcoins. At the moment that block subsidy is 25 bitcoins. Every 210,000 blocks (approximately 4 years) that subsidy is cut in half until eventually it becomes so small (in approximately the year 2140) that it vanishes and miners (or mining pools) are paid entirely with transaction fees.
To add a block of transactions to the blockchain, miners have to do a bit of "work". This "work" has an adjustable difficulty that is set by the protocol. The difficulty is adjusted every 2016 blocks such that the entire network of miners trying to accomplish the work will succeed on average every 10 minutes. If blocks start coming to fast, and the 2016 blocks take less than 2 weeks, then the protocol increases the difficulty. If the blocks are coming too slow and the 2016 blocks take more than 2 weeks, then the protocol decreases the difficulty.
Different cryptocurrencies use different methods of types of "work", but the important things are that the difficulty must be adjustable, and it must be very fast and easy to verify that the work was done. In the case of bitcoins, this work is the process of computing a SHA-256 hash of the block header that meets a specific requirement. After gathering up the unconfirmed transactions that the miner (or mining pool) is going to try and confirm, a block header is built. In this block header is a field called a nonce. The miner calculates the SHA-256 hash of the block header and checks to see if the resulting 256 bit value is lower than a target value. If it isn't, then the nonce in incremented, and the miner calculates the SHA-256 hash again. This process is repeated until the hash is lower than the target value. The protocol adjusts the difficulty by raising or lowering the target value.
Think of it a bit like flipping 256 coins, one after another. I can set a difficulty for you by telling you that to "win" you need to get a certain number of heads in a row. If I say "you need 3 heads in a row", then it's pretty easy. If I say, "you need 30 heads in a row", then you'll have to try a LOT more times before you succeed.
By requiring this work to be done, the network protects the blockchain from any attacker that might try to go back and change any values from the past. The attacker would need to complete the same amount of work as the combined total of all the rest of the miners in the world to be able to have a chance of succeeding fast enough for the network to accept his modified blocks in place of the blocks that the rest of the network is creating. In otherwords, the attacker would need to have a bit more than 50% of the total (including his own) hashing power of the entire bitcoin network. For this reason, you'll often see this type of theoretical attack referred to as a 51% attack.