If all Software and IT needs were being funneled into new projects and new features and new ideas then the Red Hat guy might be write. This is not the case however. Most Software development done in the world is based on specific needs generated by specific customers on existing IT systems. It is a painfully slow, deliberate process that sometimes produces astonishingly public failures. Most of the time what is produced is quite successes that for the most part do what the customer wanted done.
A couple of years ago my organization switched from Silicon Graphics workstations running an ancient C++ compiler to Red Hat Linux on Dell workstations. It took us about six months to migrate the code from one platform to another. We didn't develop new features that nobody wanted. We didn't create waste where none existed. What we did is exactly what the customer paid us to do.
Vendor driven software that is created with an unknown user in mind is usually pretty scary in that you are always going to get features you didn't want and features that you do want but they don't work well. Guess what, that's what you get for making a product that is designed for the general propulation. Cars are the same way. I want a Toyota Truck, and I want a really cool sound system. They don't sell them that way. I get the adequate sound system that Toyota provides, it kind of does what I want, but if I want better I am going to have to by better, and even then it make not work 100% in my truck, and it will most certainly do things I didn't want it to do.
This isn't, for the most part, waste. Waste is what you get when you contract a software system to build, it takes five years, costs 100 million, thirty developers, and then when you are two weeks from shipping sales tells you that they can't sell your stuff. However, for every one of those types of projects there are literally dozens that didn't get cancelled and were shipped to sometimes eager customers.