And while you may find the iPhone expensive, there are millions of people who have "bought" iPhones (either outright, or rent-to-own via phone contracts). But it really comes down to numbers.
gross profit = gross revenue - gross cost
gross cost = development cost + deployment costs
gross revenue = (sale price - costs per sale) * number of sales
Also relevant is the profit margin = gross profit / gross cost. This must be higher than other potential investments, no matter how high the profit or low the costs.
Development costs are largely platform dependent. How difficult the platform is to develop for, costs for DevKits, and how large (and therefore cheap) the development pool is. Deployment costs includeone time licensing fees, marketing, and server rental for example. Costs per sale can include per sale license fees and cuts to Apple etc.
But the big difference between the platforms is the revenue side. Number of sales is influenced by the size of the user base and how much those users spend. That's one advantage of the iPhone - a large user base who actually buy applications. On the downside, the large number of applications means that spend can get spread pretty thin, especially since the sale price is often very low.
Any iPhone competitor is going to have to create a marketplace where the developers make money.