Forget the "non"anonymity of bitcoin. The problem is: every transaction becomes final. No reverse.
If i buy a apple, give a (real) coin, i expect a apple in return. If i do not get the apple, I will hold the counter party responsible. (e.g. beat him up/ call the police / etc etc.)
Now the counter party becomes the entire bitcoin public. I give a (fraction of) a bitcoin.... and I fail to get the apple. Now who do i beat up? Who do i call for? How do I tell that the reputation of the apple-seller is bad?
That is where there is no counterparty in the bitcoin protocol. bitcoin only keeps track of the bitcoin transaction, but looses track of the counter-part of the transaction.
For fiat money you can call someone (cop) to mediate the bad outcome of the transaction. For bitcoin you are lost. The coin transaction is deep down in the chain.
That is where the idea of counterparty is born, some way of 2-way commit, or reputation system for party that receives the coin transaction.