I don't have to know if I'm calling a mobile or a landline. In fact, a lot of people in the US pay a flat rate to any number in ANY area code in the country.
Let me pick a country I call often from my plan's list. Germany. I see two rates for landlines (49 for Telekom and 49115 for civil services), and then six rates for mobiles based on five major carriers and a sixth catch-all that is 5 times more than the others.
For kicks, let's look up India. Nice. 18 rates.
It's actually not so complicated, but it's certainly often a good idea to know which carrier someone is using when you are calling them on the mobile phone. There are, however, also plans that treat all carriers the same.
Most people are on multi-year contracts with substantial break frees (in the $200 range). There are also charges to change your number and so on and so on...
I know because I was surprised with $400 cell phone bills maxing out my credit cards after a few months over there, thinking the exact same thing, that I paid "the rate from their location to the destination area code" - which we do not.
There's no "paying" vs. "not paying" conflict here.
I have no problem about the cost of buying a local mobile anywhere I travel in the world, the the US being the exception (have not yet travelled to Canada, which is shameful as I have family and friends there).
I found the comment of all the US carriers operating the same policy and therefore not being able to walk away. Surely that is grounds enough for a complaint about price fixing, using the rest of the world as a case study?
Here in Finland there's a number you can call to register your phone on a do-not-call list. It doesn't stop all callers I guess, but I have had no telemarketing calls since registering about a year ago, so it is pretty effective. I do get an SMS or two from my service provider every few months, but I'm not bothered enough to do something about it.