Dani Rodrik's recent post provides a helpful clarification between the profession's flaws and economics as a discipline:
"The fault lies not with economics, but with economists. The problem is that economists (and those who listen to them) became over-confident in their preferred models of the moment: markets are efficient, financial innovation transfers risk to those best able to bear it, self-regulation works best, and government intervention is ineffective and harmful.
They forgot that there were many other models that led in radically different directions. ... If anything needs fixing, it is the sociology of the profession. The textbooks - at least those used in advanced courses – are fine.
Non-economists tend to think of economics as a discipline that idolizes markets and a narrow concept of (allocative) efficiency.
If the only economics course you take is the typical introductory survey, or if you are a journalist asking an economist for a quick opinion on a policy issue, that is indeed what you will encounter. But take a few more economics courses, or spend some time in advanced seminar rooms, and you will get a different picture."
The real question is then why those simplistic models prevailed and not alternative theories that captures the complexity of the economic system?