To understand this we should first explain that a block with a high difficulty, let's say
D, is also a share of low difficulty
d < D, therefore if we find such a block for difficulty
D we automatically have a block of difficulty
d. This also means that if I as a miner am looking for a share with difficulty
d I might by chance find a block of difficulty
D (with the probability
d/D). This is exactly the reason why mining pools exist: they assign the miners the task to find blocks of difficulty
d in the hope that they will eventually find one for
D, i.e., the real network difficulty, which pays for the whole pool operation.
Commonly these blocks at a lower difficulty are called a share, and are used to gauge the hashing rate of the individual miner, giving the pool a way to determine who has what probability of finding the next block and distributing the reward accordingly.
Blocks which only satisfy the requirement for a lower difficulty than the real network difficulty are called "shares". They are found naturally in the process of looking for valid blocks, and there is no way to find shares without doing the work needed to find blocks.
Thus, shares prove that work has been done by the miner. Pools use these shares to determine how much to reward each miner.