What information does a wallet contain? What information does the Bitcoin wallet file used by the Bitcoin.org client contain? 

Is the owner's Bitcoin balance written in the wallet.dat file, or does it contain a list of transactions that have been made since the beginning of wallet creation?  Does the wallet's filesize grow bigger as more transactions are made?
From looking at the code, the wallet.dat can contain entries of the following types:


name - an address book name
tx - a transaction
acentry - an accounting entry
key - a pair of public and private keys
mkey - a master key
ckey - an encrypted key
defaultkey - the default receiving address' key
pool - a keypool entry
version - the version of the software that wrote this wallet
minversion - the earliest version of the software that can read this wallet
cscript - a script
bestblock - a pointer to the end of the best blockchain seen
wkey - a private key (no longer used)
setting - used to store user interface settings (no longer used, except to hold an invalid setting to stop pre-0.4.0 versions of the client which don't understand minversion from loading wallets that are too new for them)


See also this answer.