The one evil that has always been associated with Android has always been fragmentation. Though the same fragmentation to some extent is what has given Android the foothold that it has today, it most times frustrate end users.
Almost all Android manufacturers have a track record for slow update to the latest Android version with some even denying flagship devices that have the capacity to run the latest OS the update. A very popular example is Samsung that denied the original Galaxy S an upgrade to Android 4.0 (Ice cream Sandwich) all for the fact that it cannot run their skin (Touchwiz) on top of Android 4.0. Another example is Sony with the exemption of the Xperia Play from the upgrade bandwagon.
Android being an open source software is free for practically anybody to pickup and customize leading to several devices with varying screen sizes, processors and memory space.
Every manufacturer wants differentiation so when they take the code, they customize it with their own proprietary skin and load custom apps onto it.
As such, when the latest version of Android is released, they first have to take the code line by line and then customize it to whatever skin that they have on the device. Google phones/The Nexus series are always the first to get updates because they run a pure/un-skinned version of Android so they have no update delays.
As an example, consider that a manufacturer like Samsung that has 6 variants of the Galaxy S2. First they have to customize Android to the different variants and then implement whatever defining features that they originally shipped with the device.
By the time that they are through with fixing bugs and making sure that everything works properly, 6 months may have passed and the end-user will be angry at the fact that the phone hasn’t received the update yet. That is an example of what goes on behind the scenes.
Highlighted below are short points for why I think that your shiny device isn’t running the latest version of Android.
1. Custom Skins. This is part of what I explained above.
2. Long development cycle/Laziness of manufacturer. The manufacturer of your device might simply just have decided its not worth it to update your device.
3. Lack of RAM/hardware incapability. Your device may lack the hardware to run the updated OS.
4. Low-end device/Not a flagship product. If your device is not a flagship, it isn’t likely on the manufacturer’s priority list.