When I took macroeconomics at Kent State University, I think the primary flaw in Keynes' economic system is its assumption that the price of labor exists only relative to the price of goods, and vice versa. In other words, take the price of a certain bundle of goods and ask "how many hours of work will it take the average laborer to earn this?" That is how Keynes defined price.
Because of this paradigm, Keynesians suggest altering the labor to goods price ratio to solve economic problems. Because labor costs do not change quickly, a rapid change in the cost of goods can temporarily alter the labor to goods price ratio in one direction or another, and hence ramp up or cool off the economy.
For example, an economy in recession, according to the Keynesian, has a high labor to goods ratio, which means higher unemployment and a weaker economy. The way a Keynesian would fix this is to increase government spending while cutting taxes (this is called fiscal policy) in order to increase the money supply. The increase in the money supply will drive up the cost of goods, but it will take time for labor costs (such as labor contracts) to adjust to this. Hence, we get a temporary decrease in the labor to goods price ratio, and a stronger economy. For those of you wondering why the government is increasing spending while we are already in debt, this is the reason.
Such a system cannot account for situations where the economy as a whole becomes stronger (e.g. technological improvement). If some rapid advance in technology came overnight, and everyone was able to produce twice the amount of goods that they produce today, the price of labor would then double relative to the price of goods.
Fair enough, but what if instead of technological advancement, something changed overnight in human biology or our social situation that would cut our hours available for work in half. The price of labor would again double relative to the price of goods.
Clearly, the former situation would lead to increased prosperity and reduced poverty, as it would double our resources for providing food, clothing, shelter, and transportation. The latter would reduce the availability of essential services such as firefighting, police services, and medical care. Yet the Keynesian model cannot distinguish between the two!