Lorelle has a great post on placing blame where it deserves. It is extremely important to find the right problem and the right bottleneck to find the right solution. Placing blame on the wrong things can mislead and burn the effort. As Lorelle rightly says, a lot of times tools are blamed for mistakes by humans. A lot of times, especially in implementing software solutions, the mistake is in the process, and a tool is just part of it, but has to take all the blame.
Another reason is wrong choice of the tool. A lot of times tools are chosen without actually considering requirements, they are usually feature-driven decisions. I have seen some projects which have either failed, or just not completed because they were started with boxed CMSs, when a simple and flexible tool like Wordpress could have been applied. It is hardly the case that the tool is wrong, the bug is usually somewhere else.
