Upgrades aren't always entirely painless and without cost.
If the UI significantly changes, for instance, there will be a time investment needed to re-learn what you need to get work done. (This was a particularly nasty issue for Windows 8, not quite as bad for 10 but there are a few changes for sure.)
If the upgrade fails in any way, there may be significant time spent getting the computer back on-line. Sometimes this takes a very long time.
Software upgrades may actually introduce bugs. In the worst case scenario, some OS software upgrades have actually "bricked" devices (see: Apple iOS 9.3.2). These further impact productivity / take time to work around.
Some very old legacy programs may not work at all. It takes time to implement a new solution for the problem in a new tool. (This isn't a big issue for 7 to 10 from what I've heard, but you do hear this about other upgrades in the past.)
This cost in time is not nothing. If there is no real net benefit, it could end up being a big waste.
Even if people want to upgrade, IMHO the way Microsoft is pushing out the upgrade is quite bad. Usually in the enterprise world, IT departments tend to test new OS releases (and even patch updates) to make sure everything works, before rolling out the updates in the wild. They don't want a patch to break some mission critical software. The cost of that could be huge in some cases.
Even for Windows 7 retail to Windows 10 retail, I could see many people preferring to be cautious. Perhaps they are wanting to wait for a slightly more stable OS (usually the first release of a Windows version is a bit buggy). Some people also might want to test things out first, to make sure there are no problems. Of course there's those that don't want to update because change bad, but I don't think that's all cases.
Furthermore, a fair bit of Windows retail I'm sure is businesses - these tend to be even more cautious than overall consumers. A software update going wrong could cost them money, after all, and "if it ain't broke, don't fix it". I honestly don't think the "rolling updates" model being pushed works for enterprise... even small ones.
If the UI significantly changes, for instance, there will be a time investment needed to re-learn what you need to get work done. (This was a particularly nasty issue for Windows 8, not quite as bad for 10 but there are a few changes for sure.)
If the upgrade fails in any way, there may be significant time spent getting the computer back on-line. Sometimes this takes a very long time.
Software upgrades may actually introduce bugs. In the worst case scenario, some OS software upgrades have actually "bricked" devices (see: Apple iOS 9.3.2). These further impact productivity / take time to work around.
Some very old legacy programs may not work at all. It takes time to implement a new solution for the problem in a new tool. (This isn't a big issue for 7 to 10 from what I've heard, but you do hear this about other upgrades in the past.)
This cost in time is not nothing. If there is no real net benefit, it could end up being a big waste.
Even if people want to upgrade, IMHO the way Microsoft is pushing out the upgrade is quite bad. Usually in the enterprise world, IT departments tend to test new OS releases (and even patch updates) to make sure everything works, before rolling out the updates in the wild. They don't want a patch to break some mission critical software. The cost of that could be huge in some cases.
Even for Windows 7 retail to Windows 10 retail, I could see many people preferring to be cautious. Perhaps they are wanting to wait for a slightly more stable OS (usually the first release of a Windows version is a bit buggy). Some people also might want to test things out first, to make sure there are no problems. Of course there's those that don't want to update because change bad, but I don't think that's all cases.
Furthermore, a fair bit of Windows retail I'm sure is businesses - these tend to be even more cautious than overall consumers. A software update going wrong could cost them money, after all, and "if it ain't broke, don't fix it". I honestly don't think the "rolling updates" model being pushed works for enterprise... even small ones.