Most software companies are bad at innovating
The actual engineer building the product had little control in the overall direction of the company, but had flexibility to decide which technologies to use. Often the technology decision was also influenced by marketing as industry buzz words like ASP, J2EE, AOP, SOA, etc can help sell a product for reasons not yet clear to me. At times, management would throw bodies at the problem to speed up a schedule despite engineers calling it a futile attempt.
For execs, it's scary to give up control. After all, their careers often depend on the success of the venture. It's scary to trust a bunch of engineers to build something amazing. However, it's this actual fear that causes many companies to fail. Wisdom of the Crowds shows many examples where a group can make a better decision than even the smartest person in the group (and that assumes that the execs are the smartest folks in the group). So why do CEOs or VPs often try to force their opinions? Why not foster a more democratic approach where good ideas can come from anyone in the organization and somehow these ideas can get aggregated. Why not give everyone a chance to contribute? Why not empower the people building the product with the necessary freedom to do something amazing? A company's culture facilitates the mechanisms for innovating. And in the world of software, innovation is everything. There are hardly any barriers to entry and little capital is needed.
I'm so happy that my current employer is different.