In working with companies that operate in various industries and markets it has become obvious that often times the main and only reason a strategic effort fails is not because the strategy was the wrong one or because it was executed wrong.
The common mistake that the company's leaders encounter (aside from having a 'fake strategy') is that the strategic plan is too broad! too complex and non-specific. Your strategy should never be better than the people executing it!
Understand that a strategy is merely a set of targeted objectives aligned with your corporate vision that clearly and very very simply lays out the steps to take to achieve certain objectives. A good strategy also has some contingencies because plans are never fully executed as written or circumstances aren't always ideal - a strategy should have adjustments in the plan.
There are other mistakes managers make, such as assuming that the strategy is bad when is actually execution, or vice versa but that's a topic for another time. Here are my rules for keeping a strategy simple and thus improve its execution (assuming all others factors are good and in place):
Keep it simple - Strategy shouldn't be complex or abstract. Clearly lay out a course of action to where the most bottom employees would be able to understand it.
Debate assumptions, not forecasts. Strategy is about trade offs, make sure that they are done right.
Speak a common language. Dialogues between all parties needs to be simple and easily understood by all. No jargon and no fluff.
Continuously monitor the strategy's performance (ROI) and its execution. Strategy is often a trial and error towards a particular goal not a set in stone approach that doesn't deviate from written agreed plan.