There are many reasons to it
1 Your operator has to pay a certain amount of charge to the operator of the other country in which you are raoming.
2 Complex international agreements between international operators. It may be in the form of direct agreements and via through third party to serve the customer.
3 The data/voice is sent through sea cables or satellites which again adds to the cost. Sea cable maintenance is very costly.
4 Besides operators are also charging excessively to make huge profits as this is not a regulated market in any country....