Earlier quoted context omitted.
I think the real issue is that US customers (at least) have been conditioned to think of a smart phone as something that costs between $0 and $300 due to the common use of contracts and subsidies. Even if a carrier offers a non-contract plan, they are often not that much better as far as price (with some exceptions like TMobile and some MVNOs), so they balk at paying $650-850 for a handset. That was one of the things…
The carriers should be required to tell the customer the total price, including the contract. Perhaps then the consumers would know what they are signing up to. And the contract length should be limited, given how volatile and fast moving the market is.
The length of the contract is usually limited to two years. Do you think we should have laws forbidding contracts of this duration? Why? Both parties are free to reject contracts they think are too long (or too short).