The problem is that if you are actually do know best, everybody else has to make that mistake and learn, and while doing so, is halting progress that could be made in the right direction. In my world as a software developer, I've found that if my group of colleagues and the boss has very different culture and skills than you do, it's very hard or impossible to influence change. Because the entire group would have to…
I agree with you, it is important to let the person fail and learn. But sometimes, this can be costly and fixing it may be hard. My approach is to ask the person question and understand what is the objective trying to be achieved, and hope with the answers given, the person realize it is doing a mistake. I also hope that the person respect my experience and is able to learn from my mistakes and do not need to do the…
If that's not the case, and once someone recognizes what it is that you're doing, they may become rightly offended at the arrogance you're displaying by choosing the teacher role for yourself.