That is, in my opinion, the BIGGEST reason why you will never see Linux beat out MS as the primary desktop (aside from decades of established markets). Just like the "Android fragmentation" problem. There is just too much difference between every distro. If somebody doesn't like what their distro is doing and there is a big enough community following, you get another distro. Rinse and repeat.
Until Linux has one uniform pathway for kernel development (just look at the release dates, it is a NIGHTMARE) and a solid (dare I say, singular) packaging system/repo it will be stuck where it is.
Win 7 ftmfw btw.