The way it works is that Google provide Android 'free' to phone manufacturers. The phone manufacturers are then allowed - and almost all do - to customise Android for their devices.
Most devices are actually sold through networks like belgacom. These networks are also able to customise Android, usually to lock the phone to their network and add a few apps and logos.
When Google updates Android what is supposed to happen is that Google releases the new version of the OS to the manufacturer. The manufacturer re-applies their customisations and then releases this code to the networks who re-apply their customisation and release the final cut to customers.
Even when this works, it can take quite some time. Often it doesn't work: unless the phone is currently selling well, the manufacturers and networks don't want to spend the time and money supporting it so often one or other of them simply don't bother with the update. Since the phone is set up to get updates from the network, if that happens at either stage, then the end customer doesn't get an update.
The best way around this is to buy a Nexus device so your updates come direct from Google. Next best is to buy an un-subsidised device which avoids the problems that come from the network not processing updates. The last option is for people who are relatively tech-savvy, they can come to the appropriate part of a forum like this and find out how to root their phone and install a ROM with the latest version of Android themselves (see the previous post for more info).
Google is trying to work around this 'fragmentation' issue by moving the most interesting changes out of the operating system altogether and instead, putting them into apps that are updated via the Play store. This is a work in progress, but a lot has already been done - you will notice that recent updates have mostly been to do with under-the-covers things and haven't added too many new features.