Don't blame Apple for this, it's the consumer who's willing to pay this much for it.
So who is the idiot?
Spot on. As long as they sell millions of iPhones every year they can keep the price high.
And carriers give a great help, I bet they wouldn't sell so many iPhones if everyone had to pay them outright.
When the difference between an iPhone and an average Android phone is a few $ every month in your bill it is easy to forget about the price and go for the most expensive model, but if you have to pay 300/400 dollars more on a device you start looking for cheaper options.