If I understand correctly mining pool servers give miners target thresholds of lower difficulty so each miner can mine a number of 'block solutions', called shares.
For example if threshold is 0000 1000, mining pool can give each user the threshold 0100 0000, with 1000 times lower difficulty. Then every cca 1000 mined shares will give one actual mined block.
The actual target threshold in the block header stays as original as having lower difficulty in block header would invalidate original block hash and lower target threshold is communicated separately?
Is each miner given the same difficulty?
Is client's hashing power taken into account when assigning work?