This is partly because of hardware manfacturers not supporting the latest version of Android. I think Google latest attempt to separate hardware drivers from Android itself should help a lot though the advantage will really be seen 2 years from now. If what Google is attempting works just like iOS and iPhone you will get the latest version of the OS barring a few hardware based features that your phone hardware doesn't support.