Not just joining a new carrier. I'm an e.g. T-Mobile subscriber, and I'm traveling to e.g. Canada. I'd like to use a local account while I'm in Canada so I'm not paying the international roaming charges (0.59/minute voice, $10/MB data). So I'd like to temporarily swap SIMs. I still plan to honor my contract with T-Mobile.
As an example of charges, it would cost over $10 just to view the page (http://www.t-mobile.com/international/roamingoverview.aspx?tp=Inl_Tab_RoamWorldwide) that tells you how much you'll be charged, and that's just for that single page. It doesn't account for the navigation it took to get there.
There are perfectly legitimate reasons to unlock your cellphone. It is a matter that should be covered under contract law, not criminal law.
In every non-trivial program there is at least one bug.