I would argue that three factors largely explain our collective failure: specialization, the difficulty of forecasting, and the disengagement of much of the profession from the real world.
I would possibly offer another. Let me explain.
First, take physicians. In the field of medicine one can anticipate certain epidemics. For example, AIDS, a new and deadly form of a viral disease, at first catching everyone by surprise but eventually becoming an almost chronic disease. Take the monitoring of cholera in Haiti, H1N1 from China, the whole CDC structure was set up and works some what well on all fronts. Is there such an entity in economics, not even close, have there been cures such as polio, no way, how about monitoring outbreaks, not there. It is also not for want of data.
Second, look at engineers, civil engineers, they go out a inspect rotting bridges, like the Mianus Bridge in Connecticut which collapsed after many warnings, and there is a bridge on the Taconic over the Croton Reservoir which look rather weak, and the list goes on. There was the Tacoma Narrows but the civil engineers learned and made certain it would not happen again. The same applies across the engineering profession.
What is common in the professions that earn, adapt, monitor, warn, and fix the problems in their ken, well simple, they understand what the are talking about and deal with facts and take responsibility for the consequences.
So my alternative for the economists is perhaps that they have no clue what they are talking about. All the models and all the equations are for naught! Hey guys, it just does not work. Imagine having a CDC for economics, one would have thought it would have been the FED, no way, they most likely was part of the problem. It would like the CDC distributing TB bacillus free of charge to anyone eating at the local deli!
The truth may be close to this conjecture. It is not specialization, all professions have that. The difficulty of forecasting is just another way of saying you have no clue. Disengagement, that I find hard to believe given that every economist seems to have endless blogs telling everyone what they think. My favorite economist from just south of me here in New Jersey sends his words from Olympus several times a day. Did that do any good, and one would say he was engaged.
If medicine or engineering worked like economics we would all be dead from plague or crushed under collapsed bridges. Instead we are just broke. Thanks a lot guys!