The wallet contains a pool of 100 addresses that are hidden from you. The addresses are hidden because they are managed by the wallet program and you generally don't need to worry about them. When you first start up the wallet, it will generate 101 addresses. One of them is the one you see, and 100 are in the hidden pool.
Whenever you send bitcoins, the change is sent to one of the hidden addresses. When you send bitcoins from your wallet again, the program will automatically send them from the new address and send the change to yet another address. The wallet program keep track of which addresses have how much BTC so that you don't have to.
Just a friendly reminder on backing up your wallet.dat file.
Whenever you generate a new address or a new change address (when you send bitcoin out), your wallet will take one address out of that 100 "pre-generated addresses, and pre-generate a new one.
After you used 100 new addresses, you would need to do a new backup...
Thus, you should do a backup once in a while, or use the "-keypool=<n>" argument to pre-generate more addresses.