You don't have to upgrade an engine very often...
There might "be" a new engine out, but you don't have to upgrade if the one you have does what you need it to. That cannot be said with software, as sometimes, you have to upgrade because of a lack of support. Mostly security or new hardware installations forces an upgrade.
The problem with software upgrade is that sometimes, you feel cheated. Your old software already did all you wanted, and you had to change it for some new software which doesn't really offre anything new, or changes things for the sake of change, and makes thing worse.
A good example is my scanner. My scanner has most of what recent, on the shelf, scanners offer. Same resolutions and mostly the same speed of newer models. I bought a new PC with win7 64 bit, to which I hooked up my scanner. But Canon decided that it would only work with 32bit systems. I felt cheated! A new scanner offered nothing more that I wanted, and had no reason to upgrade, save for the lack of support. I felt cheated by Canon, but the principle can be applied to Windows in some situations. I can still use my scanner in 64bit, under ArchLinux, as the OS itself or in Virtualbox, as that was my solution.
It's the sence of feeling cheated that causes resistance. If a physical product, like a car, isn't broken, we never really have to upgrade. If software is unsupported, broken or not, we often have to upgrade, as my scanner story examplified.
So the analogy to cars does explain the origin of feelings involved in upgrading software, but does not apply directly.
What do think of this idea as to the reasons behind upgrade resistance?
Keep Up with TechRepublic