Overall, you have to use techniques like this in the context of a situational leadership framework. There's a ton of reading material on situational leadership, but basically it comes down to recognizing the areas where people are knowledgeable and/or confident and providing the right kind of support. The "let 'em fail" tactic is great for people who are confident but not knowledgeable -- they learn something about the topic, and they learn about their own (lack of) understanding of said topic. There are many situations (when people are neither knowledgeable nor confident) that require you to do more hands-on management of your team -- and that's ok, since your goal is to help them move up the knowledge/confidence curve.
Very rarely do managers in our time have hire/fire power; in my experience it's very difficult to fire anyone for performance-related issues. Usually the best you can do is offer to swap your "problem children" with another manager and hope they do better in a new environment.
Not saying that my solution is always right, but i definitely think my inability to sell a cohesive technical direction to the entire team hurt the schedule/quality. I think hand-picking people whose opinions align with mine would have really helped the outcome, whether or not my solution was best. Perhaps detaching my ego from the outcome would have helped too. I wouldn't take another high pressure delivery responsibility role without hire/fire power.