It's fairly easy to send USD online if you own a credit card and bank account, but receiving money is a whole lot harder. It's also harder to do it with the degree of anonymity that Bitcoin provides and without the risk of your payment provider freezing your funds or banning you from using their service.
An IP address is light-years from a real-life identity. Without a warrant, there's not a chance of figuring out even the account holders name-- which could be different from the person who actually performed the transaction. It could be a neighbor, a friend, a roommate, anyone else who ever had the wifi password, the possibilities are endless.
If anonymity is a concern getting a court order doesn't sound like a big deal. Even if not, you vastly overestimate the anonymity an IP provides, and if anonymity is a concern legal deniability isn't a big win either. You also ignore that you could potentially get dozens or hundreds of IP addresses. Anonymity, like security, is hard, and has layers.
Anonymity is not a binary variable which is why I worded it "degree of anonymity". I think it should be obvious that credit cards and bank accounts are vastly less anonymous than Bitcoin.