My opinionated views on the matter:
Android support is atrocious. It's a great platform, but not a single handset maker seems inclined to provide regular updates. Going the vanilla route is good as it usually guarantees one or two minor updates. You can always go the CyanogenMod route but lose all 5 apps from the Play Store that are actually useful.
Samsung is HORRIBLE at this. They dump dozens of different handsets each year and support absolutely nothing. Just buy a new, shinier, better one, they say. Build quality is usually very poor and will not survive repeated drops, even with a case.
Apple makes great product at impossible price points. I've only used them when given away by friends who upgraded. Windows phone lacks real support in the apps space, so they don't get any users, and nobody wants to develop for a platform.without users. I don't see them succeeding.
tl;dr they all stink