Disclaimer The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.
When developing software, you need great strategies and tactics to succeed.
You may have an excellent vision on what you want to get to and a well thought-out approach; however if the developers writing the code mess up the implementation or don't follow the requirements your strategy will be meaningless.
On the other hand you could have the most experienced hardworking developers working on your project. If they get sent in the wrong direction based upon a faulty strategy either due to lack of experience, lack of experience with the technology, requirements that aren't clear, picking the wrong technology, methodology or incorrect architecture your project could be in real trouble.
Finding the right combination of strategy and tactics can be a challenge, however once the balance is achieved, your project is almost guaranteed to be a success!
Some companies look to technology to achieve this balance however this can truly only be found through experience and/or an effective mature process.
In most cases projects fail or fall short of expectations due to strategy type issues.
Remember Me