Personally, I prefer iOS over android due to its reliability. I have friends who have had to buy new phones when android crashes. However, many people prefer android due to its better costumization capabilities.
All that being said, I love the iPhone and I would still never choose an Android device over it unless the iPhone's quality goes down dramatically or Android's surpasses it (IMO, of course).
I wanted an iPhone 4 or 4S.
But, my HTC sensation (Think like the Desire S but bigger - It's almost identical to a Galaxy S-II) is £15 a month cheaper than the iPhone 4S would have been on the same tariff. The iPhone also required a payment upfront on top of that, whereas mine was a free handset. In the end it was no contest. It's getting a little outdated now compared to android releases, but Apple hasn't released anything new since.
In my opinion, the pricing for the iPhone simply isn't good enough. The iPhone 4S is better than it's competitors (Except the Galaxy S-III, until the iPhone 5 comes out), but it isn't that much better, and it certainly doesn't justify the price difference to the top of the range android phones. They're losing quite a bit of market share to android as a result.
This is not like with the iPod; The MP3 player market never had a good enough competitor to compete with Apple. But the Android operating system is easily a match for iOS. Android has many advantages, but it's up to the user to decide whether they will actually use them. iOS is more user friendly, but also more restrictive in certain aspects already mentioned in this thread.
To OP:
I'd suggest waiting until Apple announces the next iPhone (Expected to be mid-September). Then, if you can afford it, get an iPhone 5. If you can't, The Galaxy S-III is probably your best bet (Thats if Samsung are still allowed to sell it by that point considering the ongoing patent row).