I can't believe nobody else mentioned this sooner or that you haven't received many more points for your comment.
Most people don't even think about the fact that they're locked into a contract for 2+ years (in the US), they just think about how the other phones are cheaper. But even for the people who consider the costs of being locked in, they can see that not being locked in provides little advantage.
If the entire market wasn't locked in to their contract, and could trivially take their phone number with them, they would have maximum provider mobility and the competition would get steep. If only a few people do this, it won't actually improve service or make the companies willing to adjust prices to keep these specific customers.
I'm not sure how the market came to this in North America and other select places, but I can see how it's going to be very hard for it to change.