a big reason is that you actually need to test whether the newest version works well. Even the jump from 4.4 to 5 has some performance hits. Not to mention when we get beyond vanilla android, custom home screens and stuff are extremely sensitive to base OS changes.
Also, the phone companies themselves need to put out the updates, which isn't happening a lot of the time (or with 6 month+ delays).
Also, the phone companies themselves need to put out the updates, which isn't happening a lot of the time (or with 6 month+ delays).