Way back during my days as a retail clerk, I had a customer who had a, um, clothing malfunction. The store was very busy one afternoon, and as he approached me to ask a question, it was readily apparent that his barn door was left open. As discreetly as I could, I leaned in and whispered to him that he should check his zipper. Red-faced, he thanked me and quickly remedied the problem. Now the last thing I wanted to do was to embarrass this poor young guy, but I'm sure he would agree that I did him a favor. As awkward as it was, our exchange may have saved him a much more embarrassing moment later.
Not unlike the zipper incident, most of us can probably tell stories of glaring technical missteps of others that we've observed: a poor architectural decision by a colleague, an obvious mistaken assumption in a project estimate, or perhaps someone's blog post or forum answer that offers up some really bad advice. And most people will confess to having been on the other side of the fence at one time or another, having made a truly horrendous technical decision that was obvious to almost everyone but him/herself. When the mistake is eventually pointed out, it's still a little awkward, but usually is better than simply remaining silent about your discovery.
In the years I've spent engaged with technical community goings-on, I've seen three different approaches when obvious mistakes are discovered. First, I see an unfortunate number of occurrences where the person is called out loudly and publicly for his/her misstep. In cases where the error is a first-time mistake and does not involve malfeasance (such as plagiarism, which doesn't really qualify as a mistake), a public thrashing is rarely an appropriate initial response, often resulting in hard feelings and even a reluctance to continue participating in the technical community. Next, and even more common, is to simply remain silent about the error. This approach is problematic for a couple of reasons: the person who made the mistake may not realize the error of his/her ways, and could go on to make the mistake again in the future; additionally, this could set up a public calling-out of the error by someone else (note the previous point). Third, and without a doubt the most professional and courteous approach, is to privately point out the folly. Having been on both sides of that type of conversation (the mistake-maker as well as the mistake-discoverer), I can affirm that it's not a comfortable conversation to have, but in the long run it will be appreciated.
Nobody wants to hear that they've screwed up. But as for me, if my fly is open, I would hope that someone would pull me aside and tell me.