First of all I want to be clear in my opinion that making mistakes is part of product and/or service development. The majority of the greatest products and services serving mankind today were iterated through several mistakes and false starts and through mistakes we learn from it and build upon it. What I want to discuss and bring attention to are making those huge mistakes development teams make that generate zero profitability and possibly company losses.
Another disclaimer I want to be clear about is I am not a Project Manager but I have worked in many projects as a key stakeholder and have worked with several Project Managers in the past that I can speak for mistakes a project team and team members make that have huge negative results on a project. At the forefront of mistakes is the assumed expectation that each member in the team having a clear understanding of any given requirement. From my years of experience what is clear to someone may not be clear to another person or maybe interpreted incorrectly by another team member. The best approach I can offer about this issue is to make prototypes and story-boarding out certain scenarios and iterating through designs and getting everyone to sign off at each design milestone. Another issue that projects cannot live without is feature creep or scope creep. Personally, there is no way to avoid scope creep and I think as a development team, we need to embrace it. Scope creeps are bound to happen because at the start of the project only the bare bone foundation/requirement is known. Only through a series of iterated product development will the final and true idea will be revealed and scope creeps allows this to come to fruition. The only way to respond to scope creep is by adding it to the triple constraint and accounting for it in the project schedule.
From my experiences more projects are slowed and/or failed due to unclear requirements and unplanned scope creeps but these mistakes can all be nullified if we plan accordingly and do our due diligence.