But any cheaper phone is still useless without a contract anyway? The difference isn't $899, it's $899 minus the cost of ownership of an equivalent phone. Even a free phone on a 2 year basic contract is going to be around $600-700, surely?

There are pay as you go options, but other than the lightest of users, I don't know many people who find it cheaper than a contract, especially if they use any data.