My biggest reasons were (in this order) battery life, speed, keyboard, and hardware quality. For the past almost 4 years I've had a Sprint Android phone and a AT&T or VZW iPhone. When I had the iPhone 3G and upgraded to the HTC EVO, it killed the iPhone in everything but battery life. Now I have the Nexus S 4G and the iPhone 4. Prior to ICS, the iPhone 4 just wiped the floor with the Nexus and EVO for what I use it for. Lots of phone calls, lots of email, lots of being on the go - with Gingerbread, and even CyanogenMod and a custom kernel the Nexus S just didn't do it. I was almost ready to abandon Android and give in to iOS.
ICS changed all of that. My Nexus S easily rivals or bests the iPhone in everything but keyboard and battery life, but those are now only a small marginal difference.
For what I do I use a ton of minutes, and really hammer my phone. I'm all over the next Nexus now, I'll wait until fall for the successor to the Gnex, but my order for a Nexus 7 is already in (replacing a iPad).