There are three reasons why Bitcoin is considered anonymous.
First, unlike bank accounts and most other payment systems, bit-address addresses are not tied to the identity of users at the protocol level. Every person at any time can create a new randomly generated bit-address (and associated private key) without having to provide anyone with personal information.
Secondly, transactions are also not tied to the identity of users. Thus, if the miners agreed to include a transaction in the block, everyone can pass bitmoans from one address to another, without having to disclose any personal information. As with cash, even the recipient of money does not need to know the sender.
And thirdly, Bitcoin's transaction information is transmitted by randomly selected P2P network nodes. While bit-knots connect to each other via IP-addresses, the nodes do not know if the received transaction was created by the information-passing node, or it just redirected it.