For people who want to buy phones in the several-hundred-dollar range, 2 years of official updates really isn't sufficient. My Nexus 4 lasted 4 or 5 years, the last few on unofficial firmware - but I shouldn't have had to use third party firmware on a device that was working just fine.
It's pretty disingenuous to compare Android and iOS like it's a 1:1 comparison. Google Play services and several other components get updated independently from the system. A Nexus 4 that is running the last official security patch still works "just fine" and gives you access to the majority of apps on the Play store.
While the update model isn't perfect and a bit concerning security-wise, if you want a device that "just works" for 5 years and won't be artificially crippled, Android wins.