In order to understand something like this practice in particular, and iterative development in general, one must put it into practice. That is the only way to know software related concepts, because ‘software’ is pure logic, must be processed by brains not just by the ears (what other people say) or eyes (by reading something).

The following article explains quite well some misunderstandings in software development:

Calling it TDD is very misleading. I’m guessing that that’s why developers and managers don’t understand these things. Example Driven Development has already been proposed and seams to fit quite a bit better.

On the "why don’t companies get iterative development" – it’s not companies, its people. Its usually people who’ve only done waterfall and advanced their career by it. These people are considered the "methodology expert" in the company ( don’t ask me why ), and have a seriously vested interest in making sure that waterfall stays – obviously.

It’s all politics. Consultants see it best, seeing as they’ve taken off their blinders some time ago. Personally, I’ve seen enough companies and the above type of people in them to understand that what’s better is, in many cases, irrelevant.

Many of the developers that I’ve talked to at those companies don’t concern themselves with it, rightly so, otherwise they may make some enemies. Some are developers that "grew up" in those companies and think that waterfall really IS the way to go. Well, actually they’re not that familiar with anything else, beyond knowing what XP stands for.

"because ‘software’ is pure logic, must be processed by brains not just by the ears (what other people say) or eyes (by reading something)."

While I find this is the way I work, I think you are doing a great injustice to people with different learning styles. Some people prefer to read, some people prefer to hear things, and some people prefer to do. Personally I fall into the doers category, but I think you’re treating your personal learning style as the only possible one. It’s a dangerous trap to fall into when you have to deal with other people.