I used to think this before I worked at a software company. The problem is software companies have far more time pressure, particularly small and medium sized companies. "We'll go out of business if we miss this deadline" doesn't result in high quality code.
The best code I've seen was written for a telecom. The company had the resources and the patience to do it right, and (more importantly) the people in charge knew what they were doing.