Android Open Source and Hardware Obsolescence

Why only NEXUS devices are sensible choice for Advanced Android Users and Developers? Because NEXUS device vendors provide source code and device drivers.

This makes is possible to re-compile and re-create any customization of the Android by advanced users and developers. The most popular among them is CyanogenMod based on AOSP (Android Open Source Project).

Why is such customization really necessary? Because Vendors does not keep up with the Android development, their releases are flawed, contains unwanted modifications, quite often development is abandoned just after product release.

I know that Drivers Development is time and money consuming task for Vendors. Still, providing source code for device drivers would make it possible to run alternative and/or customized OS, also prolong device life for second-hand users in poor countries. Vendor sells the device anyway and Users can make fixes and customization. Why this Win-Win scheme is so hard to achieve in reality? Is really enforcing sales with mass garbage so important?