Remember, we are talking about vertical applications - these are not programs like Microsoft Word, but software that is customized for the specific needs of a given company.
An example: changes in the law. Programs that calculate tax payments or human resources forms often have to be modified many times a year to keep up with legislation that the Barbara Boxers of the world implement without even considering their impact. The Patriot Act mandated the development of a huge amount of new reporting software for most financial firms. Changes in the law amount to a huge, hidden tax on many companies, because they have to adapt their IT infrastructures to accomodate new legal requirements.
And of course there is the routine stuff like growth in the size of the business that has to be accounted for.
Programmers displaced rooms full of clerical types in the 60's and 70's, now we are ourselves being displaced by foreign labor. Everything has its day in the sun, and the generic IT professional's day is coming to an end.
I remember someone asking me that same question 20 years ago. A lot has changed though some things have not. There are many companies still running 30 year old mainframe programs. One of the biggest reasons for software changes is to meet customer requests. A return on investment is not a factor, making or stealing sales from a competitor is the point. Another big reason is when software and hardware vendors stop supporting old versions to force an upgrade and more sales. These same vendors sell buggy products on purpose to plant the seeds of future sales, Microsoft being an example. Sometimes a company upgrades to prevent a competitor from gaining a possible advantage, or to support an executive's ambitions, marketability, or ego. Many IT workers want to play with the latest toys, want themselves to stay employable since few new projects involve old technology. Dirt cheap hardware increases demand for doing more and more with computers. On the other hand there are a large percentage of IT workers that build job security into their work. They make systems overly complex which then break a lot and require constant attention. Often the oldest systems are the worst, no one can figure out how they work so they don't get upgraded. There are many forces going on why IT workers stay employed.
IT workers are plumbers, and carpenters and architects, and about everything else. You have to draw the whole thing up in your head and then create through keyboard and mouse. Piece work will always be around. It's the factories that come and go.