A Bitcoin wallet contains:
your keypairs for each addresses
transactions done from/to your addresses
a version number
Since 0.3.21: information about the current best chain, to be able to rescan automatically when restoring from a backup.
So a Wallet file contains all your transaction history (which is also stored in the Block Chain). Of course, the Block Chain's version is the "official" version of the transaction history (so people can't modify their wallet to suddenly have more money).
It's possible to run bitcoin with the -rescan option to recreate your transaction history (a great way to recover lost coins), but this will only work based on what keypairs you have in your wallet. So if you execute 200 transactions and then restore an old wallet, and then -rescan, you could be missing a lot of Bitcoins.