Almost all pools use a difficulty of 1 for share difficulty.
So your miner submits all shares who's hash is smaller than the target for difficulty 1. The pool verifies those shares and if they are small enough to be the block solution submits it to the network.
Currently difficulty is roughly 1.16 million so it is 1.16 million times easier to find a share than a block solution. Technically your miner doesn't even need to know what the difficulty is. It simply submits everything smaller than target for difficulty 1 (that by definition includes shares smaller than target for diff 1.16 mil).
OK. And after the submission the miner keeps on hashing the block and is stopped only by receipt of some kind of block-solved message coming in (or, in theory, by running out of nonce possibilities)?
That parenthetical raises another question: does the nonce always have to start at 0 and increment? Or could it start anywhere and wrap around?
Edit: replaced period with question mark in first paragraph.
yes that block solved message is called a "long poll". The miner then clears its work queue and begins work on updated headers.
The miner will routinely run out of nonces. Nonce range is 2^32. A 1 GH miner will exaust the nonce range in ~4 seconds and thus need a continual supply of new work every 4 seconds to avoid going idle.
Yes the miner could start at any nonce value. Each nonce has equal chance of being a solution so there is no real reason to not start @ 0 and increment until max nonce. Very Old miners stopped when they found a share in the nonce range but that is inefficient because each nonce range can have 0,1 or 2+ shares. All current miners search entire nonce range and return any shares found.