How and why is this possible?
The user set a value of 0.1 ETH (100,000,000 Gwei) as the gas price. It's possible to set the gas price to anything you want.
Why Ethereum does not provide any protection mechanism for paying very high transaction fees and why there is no limit for that?
It's likely that certain wallets do prevent such mistakes from being made by setting upper limits to gas prices, or warning users before they confirm. (Or just outputting the associated dollar price that the transaction will cost, which the user can see and use to take corrective action.) It's possible the user was using the CLI or an interface that didn't provide any warning or feedback.
Since it is a mistake done by the user...
How do you know it was a mistake?
In this case we can probably all agree that it was a mistake. But how large would a transaction fee have to be before we can all agree that it's a mistake? What if I send a transaction with a slightly higher fee than normal - because I want my transaction to be included in a block promptly - but then change my mind? Should I be able to claim it was a mistake? Where's the line between a mistake and deliberate action?
..., why Ethereum does not provide any payback/refund mechanism?
Because you'd need some sort of social consensus or governance mechanism that would judge whether a transaction is deserving of being reversed.
Because the same mechanism could be used to censor certain transactions and users.
Because it could probably be used as an attack vector. (I pay you for some goods, I use the refund mechanism to get my money back, while walking away with the goods as well. Or at least something along those lines.)
Best Answer
Every computation on the Ethereum network cost gas, so do value transfers like on the bitcoin blockchain.
Every computational step, or OPCODE requires a specific amount of gas (which is hardcoded). You pay for gas using ether. To determine the fee you pay you calculate:
required gas * gas price = fee
For example a simple value transfer cost 21000 gas, the current gas price is dynamically set by users and miners and is currently ~0.00000005 ether, so the value transaction would cost ~0.00105 ether or $0.001 to $0.002 USD at current prices. Current BTC transaction fees vary anywhere from $0.01 to $0.09 USD
Users can set the gas price they are willing to pay and and miners can set the minimum gas price they are willing to accept. This creates a dynamic market, which allows ethers "fee" to be dynamic and adopt to ether price swings.