Imagine that you're working at the office and you're being paid by rolling a dice. Let's start from here and explain basic crypto mining terms and mechanics using this analogy :)
This post was inspired by this reddit entry - user idiot_on_internet uses the mentioned analogy to explain spikes in mining profitability but I think it can be used to describe many other phenomenon in crypto mining.
So, you're working at the office and you're rolling a dice all day. Let's say your boss pays you $3 every time you roll 1,2 or 3.
Hashrate
This value describes how many times you roll the dice every second. It has direct, linear impact on how much you will earn. If you're rolling the dice once every second, your expected income is $1.5 per second. That's because you've got 50% chance to get paid after each roll and 50% from $3 is $1.5
remember you get paid if you roll 1,2,3 - so these are 3 numbers out of 6 = 50%
Now let's say you want to earn more - what do you do? Well, you roll faster :) With 10 rolls a second you're expected income grows 10 times and now is at $15. The rolls per second is your hashrate - the faster your mining equipment can perform calculations (rolls), the more you earn.
Difficulty
Let's say you boss now tells you: OK, change of plans. Now I will pay you only if you roll 1 but I will pay you $9 for that. What does it mean?
Well, in terms of how much you earn - nothing. You've got 3 times lower chance for desired outcome, but the profit is 3 times higher when you get it. So when you're mining crypto and the pool (mine) sets higher difficulty for your miner, it doesn't mean that you will earn less. You will get the desired outcome less often but you will earn more for each one. By the way, we call this desired outcome a share.
Shares
The mining pools (your boss) don't pay you immediately after you find the desired outcome (roll 1). That's because they don't know how much they will earn after each block. Instead, when you roll the desired outcome they will save it in their databse as a "share". The more shares you have compared to other miners, the more you will get paid from the block reward. So you want to submit as many shares as possible and this is directly influenced by your hashrate.
Profitability
So, your boss pays you 9$ every time you roll 1. Then he hires 2 more people and gives them the same job but still his whole budget is only $9 - so he will have to divide this $9 on all 3 employees. This is not good :)
Your collective hashrate is now 3 rolls per second (1 for each employee) but the income won't be 3 times higher because you're still rolling only once per second. And if other employee rolls 1 before you, he gets the reward, not you.
This is what we are seeing now - many new miners are joining the club which waters down the rewards between more miners - making each miner earn less. The solution to this is to roll faster - which gives you higher chance to roll 1 in specified timeframe and get the reward.