I don't really understand why there needs to be a new change address every time a tx is sent. Why isn't two addresses sufficient? The change could just go back and forth between the two.
It increases anonymity and security. There are other wallet clients out there that will let you specify a change address so you don't end up with 100's of change addresses.
On the anonymity:
If bitcoins are sent back to an address that is already identified as belonging to you, then it can be identified through inspection of the public blockchain that you have those bitcoins.
If bitcoins are always sent to a brand new address, then it becomes more dificult to determine if that address is a change address, or the recipient of bitcoins that you are sending.
On the security:
When bitcoins are received at a brand new or at least "never used to send" address, they are protected by 3 layers of cryptography. First there is ECDSA, then SHA-256, and finally RIPEMD-160. It would be necessary to find a weakness in all three algorithms for anyone to steal the coins. As soon as you spend bitcoins from an address, the ECDSA public key is recorded in the blockchain. At that point, the SHA-256 and RIPEMD-160 are no longer protecting any coins at that address. If a weakness were discovered only in ECDSA, the security of any coins at that address would be compromised. This is one reason why it is generally considered a "best practice" to use a unique address for every transaction. That way no coins are ever stored at an address that has sent coins.
My concern (since it almost happened to me), is that someone who sends a lot of tx's will have change sent to a newly created address, and have their computer crash before they backup their wallet.
It would be a rare occurance, but the bitcoin-qt client doesn't warn users when it creates a new pool in order for the user to backup. Plus, even if it did, during that period between sending the tx and making the backup (or sending the change to a backup address), users are completely unprotected in case of a system crash and loss of the wallet file. How does everyone else manage this risk?
Back up your wallet often. At least every 100 transactions. Also, you can configure Bitcoin-Qt to increase the size of the address pool. 100 addresses is just the default that is used if you don't configure it. You are responsible for protecting your own money. Failing to backup your wallet often enough is a bit like storing your cash wedged in a stack of firewood and then worrying that it might accidentally get tossed into a fire.