Part of the problem for me has always been the absurd pricing schemes.
When I buy a Macbook I'm paying for the labor, yes, but also the resources used in its construction.
For software, especially in the enterprise, it was usually write-once with a high selling cost AND a support contract for patches.
To me, that is absolutely ridiculous which is why I will tend to go toward a SaaS which I know will be updated as it grows.