Sometimes there is no valid hash found for any nonces in the 2^32 space and the timestamp and/or the extra nonce in the coinbase transaction in the block header have to be updated and tried again, so at least it's not quite that simple (simple, as distinct from easy).