Perhaps THE greatest commentary on this topic is How Software Companies Die – by Orson Scott Card. Little has changed since 1995.
No it’s neither. It’s PEOPLE. People are human. They have failings. Sometimes you need your software guys to do a presentation. Who else are you going to have talk about the architecture of a product? Especially in the Y2K days, people were freaked out, sales guys knew nothing, prospective buyers wanted to know they would be safe. So who gives the talk? Gotta be your engineers. Unfortunately the people who have the most useful stuff to say tend to not want to do that. If you’ve got the choice of having a complete idiot who knows nothing but can talk well, or a brainiac that knows why the software will be fine but hates public speaking give the presentation who do you use? It’s gotta be the guy who knows what he’s talking about. Even if he hates it.