But you have to remember, Android is built almost specifically for a device, and Windows Phones are the other way around. Google sets a standard for manufacturers to fill, but it's not required; while Microsoft sets a standard manufacturers either fill or not get supported.
Also, this is more of a "bad" excuse, but Android is also largely open source after Google finishes the inital release to AOSP, and they move on to the next version. Manufacturers generally are left with the device specific updates (hence why the HTC Evo 4G, for example, is quite easily supported on the most recent GB release, but it's still at like 2.3.3). Only the Nexus line is updated to what Google says, truly, solely because they made it, and can push releases out without worrying about incompatibilities.
tl;dr: Android is built per-device, and updated for only core OS functions outside of the Nexus/gTV line (the rest is up to the manuf.), and WP is more, erm, built per-Microsoft, if you catch my drift. Hope that clears it up.