Why can bitcoins never be refunded unless the receiver agrees to send back the money? I have used a number of ecurrencies and they all seem to share what I've never understood about BTC, which is that once it is sent, it's gone. Often BTC are sent but legally should be refunded, but because of how BTC work, the sender loses their money.

Why is this?
Bitcoin is like cash: You don't use an intermediary. If you send money to someone, they got it. The only way you can get is back is to make them hand it to you. If there is no intermediary, you can't complain to that intermediary to take money from the person you sent money to and give it to you.

The reason Bitcoin is like cash is that it's designed that way. It's supposed to behave like cash. And the reason for that is (in part) to avoid intermediaries. Using intermediaries means to be exposed to their arbitrariness. Refunds enforced by an intermediary are precisely that: Arbitrariness.

Even if you don't see how arbitrariness is bad: Arbitrariness is very close to despotism and despotism is obviously bad. You, as someone who wants the money they sent to someone else back, rely on an intermediary and have to hope that they decide in your favor. The entity you sent the money to relies on the intermediary to decide in their favor. At least one of you is going to lose. And even if the intermediary tells you to give the money to you, they might decide to give it to the other entity, later on. Or they might freeze the funds and freeze some more funds from one or both entities in conflict to be gain more power.

Can you see how that intermediary became a judge? The only way to avoid this is to carry orders out without the option to undo them except if both the payer and the payee agree. You don't need a special rule for the latter case because the payee can just send the money back in a different transaction.

Furthermore, as Pieter Wuille noted in the comments, refunding is done through payment processors. You are forced to use a payment processor when paying in a fiat currency online but are not forced to when paying in Bitcoin. However, using a payment processor when paying in Bitcoin is still possible. A payment processor can allow refunds even when the good or service was payed for in Bitcoin. The currency doesn't influence this, the payment method does. It's just that you're not forced to use one when paying in Bitcoin.