After reading your replies and the discussion on stack, I think I barely understand what an empty block is and why does it happen. Still a lot more to learn
Thank you so much guys!
It happens because a block is found every 10 minutes on average, whether there are transactions waiting for a confirmation or not. It would make no sense to force a miner to include at least x transactions, because they could just create filler transactions to fill the needed quota and not confirm any other.
Adding blocks to the blockchain adds security for all previously confirmed transactions, because they are now burried deeper in blocks and thus harder to reverse. In order to reverse a TX that was confirmed 6 blocks ago you need to find 6 blocks to replace those already found. This gets increasingly difficult with more blocks added. This is true for empty blocks as well as full or any other blocks somewhere between full and empty.
To add to this explanation, the most common example of an empty block is a block that was mined under 1 minutes after the previous block was mined
If there are 500 transactions before the X block and Y block , then most if not all of that 500 transactions will be in the X block assuming that it is still less than 1 mb / block. Then if Y block was found right after every transaction goes through X block then Y block will be empty without any transaction