I'm on Android 4.1 right now on the HTC One X, I have been using Android for about a year now.
I should have done more research before I switched, my previous phone was an iPhone 4 and I had no idea what I was going to miss when I switched.
A lot of Android users will tell you that custom roms are awesome. They are not, they cause the phone to be more glitchy and buggy than it is worth. I have to run stock rom in order to avoid having random reboots, issues with the camera, radio etc. Meanwhile with an iPhone, you don't have to worry about running or changing roms to make your battery better or to make the phone faster since iOS just works. But if you do enjoy tweaking there is jailbreaking and cydia which will provide you with far more tweaks and mods than you can find for individual Android devices, but that should be obvious because every Android phone will have about 20 developers while all iPhones benefit from developers on all iPhones.
A lot of Android users will tell you that bigger screens are better. I argue that bigger screens are not better if the graphics of the games you are playing is compromised because of the platform they run on and if the apps that you run all look like they don't belong and have ugly layouts. What is the point of the big screen if it's not used by the apps? It would make sense to use the real estate provided by such a big screen to streamline your app instead of relying on menus upon menus. Meanwhile on iOS even if you have a smaller screen, app interfaces tend to show more with less on iOS (everything is useful without a menu button) and app interfaces tend to look more polished because Apples SDK does provide developers with guidelines and layouts for interface development while Google's SDK for Android leaves the developers to design from scratch even the smallest layout while proving guidelines on how to make good apps and hoping that the developers will follow it.
A lot of Android users will tell you that their battery sucks. This is a problem with Android. All apps continue running in the background forever thanks to "real" multitasking. Oh and by the way, this still doesn't allow Youtube videos to play in the background even though the app does run in the background, something that iOS has been capable of for years. On iOS you will never have to worry about an app running in the background without you knowing because that just isn't allowed on iOS. Also apps on Android that fulfill simple functions such as voicemail and DeskSMS need to run the background at all times to be functional. Meanwhile iOS provides hooks for those kinds of apps so they don't have to run in the background to be functional, instead they run when the event they hook is run. On iOS you don't have to download a task manager or an app manager to manage your apps.
The fragmentation of the Android platform makes it near impossible to actually enjoy the benefits of the features provided to you by the OEMs. Let us look at NFC for one example, while anyone would agree that NFC is an innovative feature - if you buy the wrong phone you won't be able to use certain apps that employ the NFC function. One example of this is the Google Wallet app on the HTC One XL. Another example of how NFC is ruined by the OEMs are that often the sharing features relating to NFC are specific to each OEM. So unless you and all your buddies have the same phone from the same manufacturer, have fun not sharing with each-other unless you download a separate app such as Google Drive or Box or Dropbox - of course all of those are available on iOS as well, but you are not required to download them just to share with a fellow iPhone user.
A lot of Android users will tell you that it is amazing that all of their Google services can be synced to their Android phone. What Android users don't realize is that they have to download apps for this to occur, much of the syncing that is done is not actually built into the Android platform. For example it is possible to have Android without any of the Google apps, including the Play Store. Meanwhile on iOS the syncing, with iCloud or even with Google's own services, is native to the operating system. In other words, it does not drain your battery.
Now if we ignore all the issues pertaining to the user experience (the roms, the apps, the screen, the battery life, the features) we can start looking at how Android implements their version of the JVM, dalvik vm. Now there are many things that could be said about this implementation, but I will stick to the fact that it causes Androids GUI and apps to be far less efficient than they could be - an easy way to see this in action is to look at how smooth an iPhone 4, with a single core at 800mhz and 512mb of ram, is in comparison to many of the modern Android phones, most of which run at almost double the iPhone 4's cpu speed with more than double the amount cores and more than double the amount of ram but not double the performance. Simply looking at the scrolling performance or game performance of a 2 generation old iPhone to even the most modern Android phones will show you that iOS capable of doing far more with less.
Oh, and if you buy the wrong Android phone and use a Mac, have fun with transferring files over to your memory stick with adb via a terminal all the time.
If you are a developer and buy the wrong Android phone or run the wrong rom on the right phone, have fun having adb crash on you every 2 hours while you debug your apps.
All the reasons above are why I am attempting to go back to an iPhone 4 with 800mhz single core and 512 mb of ram while I already have a phone that runs at 1.5 ghz dual core and 1 gb of ram. Because one phone everytime you navigate the operating system it feels mechanical, that is - not natural, and there is nothing you can do about it and on the other if stock makes it feel unnatural (which it does not from my personal prior experience) you can tweak everything.
Just ask yourself, how many apps and tweaks are out there for iOS just to tweak the way you switch between apps that you have open (stock which is customizable via auxo, dash, card switcher, switchboard, super switcher, multi flow, quasar, aero), and look at how many choices you have on Android (stock, task switcher.)
For those who care about their web browsing and gaming and complete experience on their phones and don't mind the screen size, it is best to stick with iPhone, for everyone else there's Android.