The way Android devices are updated is not Samsung's fault. It is Google's fault. Google released Android as an open source OS; meaning OEMs (or anybody for that matter), could download it and modify it for free. This has led to severe fragmentation within the Android ecosystem.
According to some statistics I read, less than 30% of all Android devices world wide are on Marshmallow. Samsung right now has to support at least three or four different versions of Android.
The reason Apple and Microsoft devices do not have that same issue is because iOS, OS-X (soon to be MacOS), Windows and Windows Mobile are not opensource. Apple's iOS and MacOS only run on Apple devices, though you can modify MacOS to run on non-Apple hardware. Microsoft Windows and Windows Mobile can run on multiple OEMs' hardware, but the OEM's are not allowed to modify the OS or "reskin" it.
So both Microsoft and Apple do not support more than two OS versions. Furthermore, with Windows 10, the 96% of the code is shared between Windows 10 and Windows 10 Mobile.
So, in a way, Samsung and other OEMs are as much a victim of OS fragmentation as we are.