Because we can pay any service provided remotely, and hide our identity. It is quick and cheap. No one is easy to identify the source of the money.
The bitcoin transaction is traceable. If you pay with your bitcoin to a on line shop, and the goods is delivered to your home. From that moment on, all the bitcoin in that wallet address will be linked to you. It is not anonymous any more. The authority can ask the shops to reveal your identity.
That's absolutely true. You can stay anonymous as long as you only transfer money from wallet to wallet. But if you pay for an item or for a service where you need to reveal your identity, anonimity is over. If you want to hide your bitcoins, you need to have a wallet for spending and you need to top it up only very before the purchase. If you can use variety of wallets to top up the spending wallet, you won't be anonymous but your remaining BTC's were still be hidden.
Yes if you hold multiple wallets then your bitcoins are safe but still your identity would be disclosed once the purchase is made but I don't think there would be any issue if the small purchases are made using bitcoins, but to be on safer side it's better to keep it safe in cold storage for the future and purchases should be made by using fiat