It's actually mainly just a network issue, and the fact that even finding a 1 diff share is only a statistical expectation.
Back in the dark ages when ASICs didn't exist, all miners mined 1 difficulty shares.
Some miners still do this - others tell the miner hardware to only return higher difficulty shares.
There'd be,
on average, one 1 difficulty share, per about 4300000000 hashes the miner does.
These 1 (or higher) difficulty shares are passed from the 'hardware' back to cgminer and then cgminer rechecks the share.
If it's not actually valid, that's called a hardware error.
If it is valid, cgminer then checks it's difficulty vs the stratum difficulty given it by the pool.
If the share's difficulty is greater or equal to the stratum difficulty, it sends the necessary share information back to the pool.
So, in the old days, when mining at 1 difficulty, a miner would send only 1/4300000000th of the work it did back to the pool.
The pool hashes the (single) share to check it's valid then 'rewards' the miner with the 'stratum difficulty'.
Again, back in the olden days when mining at 1 difficulty, the pool would 'reward' the miner with having done about 4300000000 hashes.
Now the main reason (as I stated) that we use a higher than 1 difficulty setting, is because e.g. a current 100TH/s miner would find, on average,
23283 one diff shares a second.
Trying to send that data to a pool of hundreds of thousands of miners would be rather impractical.
The pool should, of course, be able to hash millions of shares a second, so for the pool's hash check process, that wouldn't be problematic.
But, from a network situation it would be quite a problem
Also, of course, it would be completely nonsensical for the miner to wait and transfer shares in batches, since that wait process would, obviously, delay the pool knowing about any blocks found; a pool never wants blocks delayed, even fractions of a second.
Already a 1 difficulty share is a statistical expectation.
1 in about 4300000000 hashes done, will,
on average, be a 1 difficulty share.
What my pool does, is set the miner difficulty to average around 18 shares per minute.
Thus, over an hour, the miner is expected to find around 1080 shares, which is a reasonable sample of shares to represent the work the miner is doing.
It does mean a higher variance than mining at 1 difficulty, but that variance is insignificant over many hours of shifts as how my pool works.
Aside, this is 'Proof of Work'.