Mining software and pool tricks
The generation transaction has an extraNonce value in the coinbase field, which is the default value to change to get a new getwork. This is generally done by the pool but can also be done by the miner if he gets the relevant Merkle branch.

The timestamp also can be changed by the miner, and the entire list of transactions changes occasionally on the pool's end.