I came from an old 3GS, and on iOS 5 that thing was laggy as ****! It was unbelievable how slowly the OS ran and how slow the apps loaded. I'm sure that the experience is better on newer phones, but that kind of performance on a phone that Apple still sells is unacceptable. Fanboys shouldn't complain about lag on android until they have used a 3GS on iOS5
The main reason I switched was because of the control over the user interface. The only way I was ever able to tolerate iOS was with a jailbreak and LOTS of custom packages that (as I realized later) brought in android features. Without the jailbreak, the user experience is so limited that you feel like the phone is telling you what to do. On android, most of the customizations I had on my iPhone either come stock or are available for download from the market without root. Much preferable.
After switching, the main advantage other that I found is screen size. You don't realize how freakin tiny the iPhone screen is until you have something that is almost more than an inch larger. Instead of one typical article on Engadget taking up 2 screens, it takes up one screen. So nice. Also, screen quality makes a gigantic difference. I wasn't on a retina device, but I took out my old 3GS and put it next to my Gnex and it made me laugh out loud about how large the pixels were and how not black the "blacks" were on the 3GS.
The only thing I miss is battery life. My old 3GS still gets longer on a charge than my Gnex, but I'm sure that software updates will come. Sure, the camera isn't as good, but if you actually care about camera quality that much, you would buy a camera not a smartphone. The benefits definitely outweigh the negatives