ZERO device support comes from those sacks of crap. The device support comes out of the various hardware vendors source and binary releases. The only job for whoever is building is to collect the proper components and stick them together. NOTHING TO IT.
Where do you think the device support comes from? The majority(albeit not all) of the device bring up to support AOSP is done by CyanogenMod developers. Do you think Samsung releases all of their code so you can just type one command and compile AOSP for the device? This requires not only what I listed above about adding various architecture support to AOSP but also device specific bring up. I'm not sure what you consider "hardware level" but much of the work CyanogenMod does is dealing with hardware support that is below the Android framework.
We can start with boot animations. Complete waste of time (albeit yes, obviously this is fairly minimal). Part of that, however, is BRANDING.
Where and what are all these broken features and pointless graphics? What is broken about the shortcuts in the notification shade or the ability to add a search button to the navigation bar? Where do you see a bunch of pointless graphics? Lets see, there's the boot animation, additional wallpapers, additional icons for new buttons and settings, etc. Are these really a problem? 2.5+ million active users seem to disagree with you.
To take your figure of 2.5 million and place it into proper perspective... At the BEGINNING of this year, the figure representing the total number of Android devices in use was 250 million.
My guess is that you already know all of this but want to disregard it due to some vendetta you have against CyanogenMod. To each his own, but I think the majority of Android enthusiasts understand the value of CyanogenMod and other developers.