My personal take on why the iPhone is the one phone AT&T won't unlock after your contract ends is because iPhones are costly hardware with expensive data plans. In general, iPhone users pay more for the hardware and service, and presumably people with more money travel more often. And to keep things simple, a significant fraction of those customers would rather roam internationally, partly for the convenience of using their actual cell phone number, and partly for not needing to jump through any hoops. Whenever I travel, I take an unlocked flip phone and buy a local prepaid SIM card. It's super cheap, but it does get annoying to deal with new phones numbers and manual reloading of calling credit. Hence the reason why AT&T wouldn't want to unlock out-of-contract iPhones; users may travel with them and provide AT&T profit through roaming charges.