What am I missing?
Is normal. You are missing statical view of thinks .
In all pool monero is statistical mining .
I explain
When you send diff to 15.000 .
Job as not need compute all 15.000 first hash of nonce.
Jobs for accept per pool as only need you find one hash difficulty more 15.000
After understant one elements .
You prefere
Pool accept 1000 jobs diff 5000?
or
Pool accept 102 jobs diff 50000?
1000*5000 = 5.000.000
102*50000 = 5.100.000
Statical view you valide more share with big diff .
Send job and get other jobs get many time and create switch context or miner is not compute hashrate . ( You lost hash )
You can not send jobs for all block is not one probleme .
Statistic each jobs as same chance for find .
If I have not make more big diff is for not lost miner not understand statical view )
the diff perfect is 20.000 for little and 25.000 for medium and 50.000 for hight
Diff more 25.000 and 50.000 increase more variance.
Miner -> Pool ( Diff 15.000 )
This is exactly the same thing
Pool -> BlockChain ( Diff 868148039 )
Pool for 1 block . I can find with 10% of hashrate need and next block need make 500% of diff
Miner submit jobs . I can find hash with 10% of hashrate for the diff and next jobs need make 500% of hashrate of diff
And long periode the hashrate payout is closed to 100% for pool and miner
If make diff to 100.000 for hash to 100 Hash/sec statical is good diff.
You are need more 8H for are close to 100% efficience
With diff between 10.000 and 15.000. You are need only 30 minute for close to 100% efficience
Sorry for my english . If you not understand one or more point superresistant can reexplain in good english.