The client tries to keep 100 unused private keys available in a "key pool". So the first time an address from your wallet receives a payment the client then marks that address as being used which brings the number of addesses in the key pool below 100. The client then adds a new one automatically.
Is this true?
I always thought that if I had a backup that was in address 98 (for example), and used the client until address 110 and lose the wallet.dat at that point I'd be screwed.
I thought that the client generated another 100 addresses at once just when the number 100 was reached, good to know it's not that way.