Totally agree. I deal with a lot of legacy software where I work, and am in the process of redesigning much of it. Along the way I often find myself muttering obscenities at the people who made design decisions years ago.
However, I’ve learned that if I spend enough time digging I’ll come to the same, or similar conclusions that they did. If not, at least I can frame their decisions in the right context. Only after I really understand the problem they were trying to solve can I start to say whether the original design is a good or bad one. Often the bad decisions of today are just based on the right way of doing things yesterday. Technology changes so fast.
Everyone is so quick to jump on the critical bandwagon, which seems so backward, considering that UX is all about understanding the whys behind behaviors and decisions. I’m all for giving and getting critiqued, but it should be less about finding flaws and more about finding the reasons behind them.