Part of the problem is that country governments extracted a shitload of money out of the telcos. In Germany, the telcos paid a combined 96.000.000.000 € for the UMTS frequencies in 2000 (making 1200€ per citizen, assuming 80M citizens in Germany), and in 2010 another 3.600.000.000 €.
Now add the enormous capital requirement of first building a countrywide network of GSM BTS, then upgrade these to UMTS, then to LTE (and, of course, always having to upgrade the backhaul links) and you see why mobile phone operators try to squeeze any penny out of the customer's pocket they can.