I think the whole idea of market efficiency came about because economics wanted to be a science, and everyone simplified their models to the the point that they were understandable, except that they were all wrong. First perfect efficiency requires perfect information. With the internet we are getting the first hints of perfect information, and we are being overwhelmed. Adam Smith certainly didnt have it. Second all decisions are to some degree irrational, based on taste, beliefs, friendships, bribes, etc. Kahneman got a Nobel prize in 2002 for that insight. (This is the same group the gave Merton and Scholes a prize for the derivatives pricing model that brought down the universe.) If all decisions were completely rational, we would all be programming Python. ;-)