It is a hardware issue (although the article says it otherwise). New versions have minimum memory specs for instance. It would be like trying to run Windows 7 on a 10 year old machine.
Every new releases have minimum requirements. These requirements end up limiting which devices can be updated or not. ICS for instance will require 256MB memory and some fancy harware acceleration. It's usually wise to respect this although you will probably be able to update your device using some custom ROM (Just don't get surprised when app Xyz fail to run on your gingerbread cyanogen mod on your 4 year old device).
We could obviously discuss whether this is good or not... as a developer I like this actually. The android fragmentation can be reduced by this minimum specs... you can release your software knowing that you will have a minimum ammount of memory to run and deal with.
Android didn't change much gui wise (aside from cosmetic changes)...
Technically, the first pic is almost exactly like the second, but with the icons removed. I would post a picture of my Galaxy S2 looking almost the same as the first picture if I wasn't so lazy.
Any circuit design must contain at least one part which is obsolete, two parts which are unobtainable, and three parts which are still under development.