There is no such thing as a $100 iPhone. It does not exist (I'm sure you can find an iPhone 1 for $100, but we're not talking stupid here).
What happens is, you make a deal, like with the mob, with your carrier. Your carrier charges you anywhere from $30 to $40 a month for your plan. $20 to $30 may be used to pay off the phone, where as the rest goes to actually paying for the minutes/data.
Hence, after 24 months, you have payed $20 - $30 * 24 months = $480 - $720 for the phone. In the first case, this doesn't cover the phone and thus you have to pay an extra $100 up front. This makes it seem like the phone costs only $100, but alas. You have now payed $580 for the phone. The phone probably costs without a contract only about $550 so the carrier STILL made some profit over your dumbness. If you go for the second option, and pay $0 (or $1) for the phone, you have actually payed $720 (or $721) for the phone and the carrier is extremely happy to have you as a customer, the phone still only costs $550.
Carriers do not EVER give you anything for 'free' because they love you. Not ever. You pay for it. It's called a payment plan or load. Call it as you like.
Android phones actually do come for about $70 for the really cheap ones. Samsung sells some cheap ones for $99. But yes, the Galaxy S3 and the like do cost in the $500 to $700 bracket.
Disclaimer. I have made up these numbers, but should be close enough to be accurate. It should be quite obvious what this little math example is supposed to show.
Also, if you are wanting to save on your contract, you can look into some residential VoIP providers, and see if any of them are compatible with iPhones. If you are able to, you can make the majority of your calls through voip, and it will save a considerable amount on your phone bill. I recently switched my iPhone to Voip, and I have been very happy with the service and the money I am saving.