Socialism has at least one major fault: it depends on people taking their share of the common wealth, proportional to their contribution. Needless to say, this is impossible on every account. A genius scientist can be entitled to millions of dollars, but he is not married, lives at his lab and needs nothing. A family of janitors with 8 kids needs everything they can get from the society, and they are hardly earning anything from the society for their work.
This is an imbalance that was counter to the proclaimed idea of equality, and it was very real in the USSR. In Stalin's time, for example, a professor could afford a personal chauffeured car, a maid or two, and the best living accommodation - this was when people were paid for their worth. After Stalin things changed: a scientist went hungry (130 R/mo) and an uneducated metal worker at a factory (400-500 R/mo) started buying cars, dachas and tourist trips. This was one of those things that doomed the USSR; I can't imagine a more stupid idea than to herd your best and brightest into the lowest class. Many of them escaped to Israel and the USA as soon as they could; it was simply insulting for them to remain, be paid a pittance, and see their skills wasted on picking up potatoes in the field with locals just sitting around, smoking and crudely joking about it.
Communism goes even beyond that; but enough to say that Communism is based on the concept of unlimited availability of all worldly goods, and on unlimited consumption of those as your needs dictate. We can see Communism practiced on board of Enterprise in Star Trek, for example. Crew members can replicate anything they want and build whatever they like; use Holodecks as much as they want; and they are careful enough to take only what they really need, and not more. This is currently impossible because of many reasons, with unlimited availability of everything as one quite obvious example, and with a need for a "new human" as another concept that has no basis in reality.
Communism (or socialism) works for ants, but humans are possessive animals, with urge to own everything and control everything. You can't build socialism with those humans. But at least the basic capitalism can channel those human urges to the greater good of the society; socialism and communism just pretend that those urges do not exist. Capitalism is simply socialism with a working method of enforcing the rules.