EDIT: Thread deprecated.
Please SEE this thread: http://forum.bitcoin.org/index.php?topic=23354
Staying anonymous is one of the key reasons why many people love the decentralized, peer to peer currency known as Bitcoin.
However, according to both the Bitcoin Wiki as well as many developers, it appears Bitcoin is not as anonymous as people have believed it to be. A lot of misinformation is out there. There are actually many ways you can easily be tracked while sending and receiving Bitcoins. It is strongly recommended to generate a new address when receiving Bitcoins. This helps to maintain anonymity, but also to help keep transactions organized.
However, when you send coins, your coins are randomly sent from various addresses that you received Bitcoins to. This means that when you send money, there is a very high possibility that the people who have sent money to you in the past will be able to see your other addresses, and thus see your entire transaction history. With this history, they can pinpoint some serious details about your Bitcoin wallet.
Luckily, this is all a thing of the past. There was a patch released on MtGoxLive.com for the Bitcoin client that will help you stay anonymous even when sending funds to another address. Checkout more in this link with a full text, binaries, source code/github links and video examples!http://forum.mtgoxlive.com/showthread.php/11-Patching-The-Bitcoin-Client-To-Make-It-More-Anonymous
Stay safe and anonymous online!