Here is the transaction details that has transaction fee for 2,100 Ether ($309,267.00) only for sending 0.1 Ether.
There is no fairness for users, hence accidentally adding a zero might cause them to lose thousands of dollars.
[Q] How and why is this possible? Why Ethereum does not provide any protection mechanism for paying very high transaction fees and why there is no limit for that?
Since it is a mistake done by the user, why Ethereum does not provide any payback/refund mechanism?
From this comment, it seems like it is not an accident.
My guess is they have their own block and they add the 300k to it as a fee. They DO NOT broadcast this transaction out, they are the only ones that know about it and are the only ones trying to mine the high fee transaction.
Now they start mining that block, everytime a new block is found by the network(not them), they move their transaction to the new block and start mining it, NEVER broadcasting this 300k transaction fee, sooner or later they will solve this block and the 300k fee they never broadcast ends up inside the block as valid on the network.
Once the block is mined, they hurry up and broadcast it to the network, which makes every transaction inside the block valid, including the secret one they kept from the network while trying to mine for it for days.
This ETH address has other high fee transactions another one for 420 ETH fee. All these blocks were mined by the SAME miner. The odds of this being a accident = ZERO.