IIRC physical currency is still the most used method for drug dealers. Ransomware being a digital phenomenon uses mostly digital currencies, and it historically used other less traceable currencies in addition to bitcoin, but those were typically corporate backed and not peer to peer, allowing law enforcement to put pressure on the providers to track down who received the payouts.
Part of the problem is that your description of a bitcoin is both right in one way, and wrong in another. My bank account is also just a number, well multiple numbers, my banks ABA routing number, my personal account number, by account balance. Those three numbers are what give my account value, but additional numbers are needed to transfer that value to another account. It may be a bank internal transfer number, or a check number, or a debit card number, and it’s associated authorization number, etc. Some of those are issued ahead of time, some just as they are needed. My bank validates all those numbers, and checks that some of those numbers that should only be used once can only be used once, and that for each use the account balance is still enough to cover the transaction.
Bit coin is basically the same way, but without a bank at the center of it all. You have a (public) wallet number that serves the same use as the ABA routing and account numbers. You can calculate the total balance for any wallet number in the whole bitcoin system. When you want to send money you create a new transaction which is basically just a big number that can only be used once. Every wallet also has a private number, you use the private number to sign the transaction number, if any one tampers with the transaction it invalidates the signature. Since only you have the private wallet number no one else can sign a forged transaction for you. Then you send the transaction to the network, if the amount being sent is less than your balance, that transaction has never been seen before, and the signature is valid, then miners on the network may include it in the public ledger and it becomes a real transfer.
Bitcoins are not actually some magic number, your bitcoins are really just the sum of all bitcoins paid to your wallet number, plus the sum of all bit coins earned for that wallet through bitcoin mining, minus all bit coins paid out from your wallet. Each bitcoin doesn’t in fact have it’s own number, instead they are referenced by the block that earned them from mining or last transaction that referenced them. e.g. you could say earn a bitcoin from mining and it was stored in block 500, then if you wanted to send me half of it for this wonderful explanation you would create a transaction that says from block 500 send .5 bitcoin to my wallet, and send .5 bitcoin back to your wallet (yeah it weir but that’s how it works), this fully consumes the old bitcoin, dividing it into two parts. You send this out to the network and eventually it becomes a part of say block 527 (blocks aren’t really sequentially numbed, but the real number are semi random and very large), now I can create a transaction that says to use my .5 bitcoin from block 527 and you can create a transaction that uses your .5 bitcoin from block 527, but if you try to use the full bitcoin from block 500 the network will see that it has already been used once and reject your transaction. (You can also pull bitcoins and parts of bit coins together from different blocks into one transaction to make a larger transfer, assuming they are all owned by your wallet.)
All transactions made through bitcoin are all publicly visible and audit-able at all times.