As a Russian who was raised in Russia, I would like to add one theory that is quite popular in Russia, but is apparently almost unknown in the West. The theory attempts to address the root cause of the collapse of the USSR and to explain why communism is fundamentally faulty.
In short, the theory says that communism gives rise to "отрицательная селекция" (literally "negative selection"). This term is not about genetics, but rather about views, beliefs, principles, and life strategies of individual people, as people tend to pass these things to next generations.
According to the theory, the fundamental problem of the communism is that it does not encourage or reward talented and initiative people. In a capitalist state, the better you work or the more talented you are, the more money you earn, but it does not work like that in a communist state. To get a well-paid job and a nice apartment in a communist state, you have to develop some special skills, e.g., the ability to bribe, the ability to develop "special" social connections to trick the system, knowledge of all subtleties and nuances of how to get things from the state (e.g., an apartment or a promotion), the ability to properly complain about the boss to take his position, the ability to pass tasks given to you at work to others, the ability to pretend to be a hardcore communist, and so on. My own parents say that they gave birth to two children because this was needed in order to get a nice apartment from the state. A Soviet motto was, "От каждого по способностям, каждому по потребностям" ("Taking from everyone according to his abilities and giving to everyone according to his needs"). At work, people were not motivated to do their best; they tended to make minimal effort that was just sufficient to avoid punitive actions. There was simply no way of legally making a lot of money, because salaries were strictly regulated by the state.
In just a few generations, this system produced a population of lazy people focused on tricking the system, because people simply inherited views and beliefs of their parents, who succeeded in tricking the system and managed to save a lot of effort by finding a way not to work hard. There is even a special slang in modern Russia to refer to such people: совок.
And with such a population, just any economic system will fail. This explains why all post-communist countries still struggle economically despite that almost three decades have elapsed since the collapse of the communist system in Russia and Eastern Europe. I lived in Germany and heard from Germans that there is a big difference in the mentality between Western Germans and Eastern Germans. A Russian entrepreneur told me that it is still hard in Russia to find good reliable workers capable of working really hard and motivated to build a good career by hard work.
In short, the theory says that communism does not work in the long run, because it does not provide a proper environment for natural selection of individual people's views and life strategies that bring benefit to the society as a whole.
UPDATE: Following a comment below, I am adding links for further reading:
A book of 1922 by Prof. Sorokin, who is considered to have coined the term "negative selection." The book is in Russian.
A random article about the "negative selection" in the USSR (in Russian).
A book chapter about the "negative selection" in the USSR (in Russian).
A post by the Russian opposition leader Alexey Navalny (in Russian).
An article in English about Russia's work ethics. I quote from there:
For three generations a negative selection process systematically weeded out workers of the greatest drive, know-how and resilience, giving rise to a pervasive, cowed apathy and scheming work ethic, with the liveliest initiatives directed at seeking maximum personal gain with a minimum expenditure of effort.
The negative selection theory is very popular in Russia because it resonates with what people personally experienced in the communist regime. My parents and many other people who worked in the Soviet era just feel that the theory hits bull's eye.
UPDATE 2: To respond to another comment, which says that people seek maximum personal gain in capitalist states as well, I would like to emphasize a principal difference between capitalism and communism. In a capitalist state, individual people's strategies maximizing personal gain also bring great benefit to the society. And it is not the case in a communist state. To maximize your personal gain in a communist state, you have to learn how to trick the system. It is "social chess," so to speak. This "social chess" is a zero-sum game and brings no benefit to the society as a whole.
Let me explain this figuratively. Imagine a village or a tribe in which all people jointly work and then distribute the products of their joint work by playing some game, so the personal gain of everyone is determined not by his work skill and work effort, but by his skills in the game. In a few generations you will get a population of skillful players, not a population of good workers. Figuratively speaking, this is what communism and negative selection are.
The communist system inherently does not allow properly rewarding workers according to the value they produce, because in the absence of a free market economy you cannot tell the value each worker and each factory produces. This is a fundamental flaw of communism, and that flaw inevitably gives rise to negative selection. In such a system, rewards for individual workers are determined not by market mechanisms, but by something else. In the USSR, the salary of each worker was determined by a rigid formula that included the working experience, occupation, role, region, etc., so people were not motivated to work as hard as they could. They made minimum efforts just to keep their jobs. And people played complicated social games to get well-paid roles and benefits from the state (e.g., apartments) and to reduce their actual workload and responsibilities. In a capitalist state, in contrast, business owners try to keep valuable workers by offering them good salaries, and this motivates workers to work hard. There was simply no such mechanism in the USSR.
UPDATE 3: To further illustrate the theory, I would like to point to North Korea and South Korea. Their populations are very different. North Koreans and South Koreans have very different mentalities, different work ethics, etc. Here is how South Koreans view North Korean refugees:
“There is a stereotype some South Koreans have of defectors as lacking an entrepreneurial, pull-yourself-up-by-your-bootstraps spirit, being from a socialist country and therefore relying on government benefits,” said Sokeel Park, director of research and strategy for non-profit Liberty in North Korea. (link).
North Korea initially did quite well economically, and it is only in a couple generations that serious economic issues started hitting the county. The North Korean famine occurred in the 1990s, about half a century after the formation of North Korea. This is consistent with the negative selection theory, which says that communism does not work in the long run.
Even if you magically change the political system in North Korea and instantly build modern infrastructure there, the country will still be bound to suffer decades of economic hardship, because it takes a long time to change the population. The GDP per capita of each post-communist country is still a few times lower than that of Western countries.
Let's consider two neighboring countries: Albania and Greece. Albania is a post-communist country, while Greece isn't. Greece's GDP per capita is about 20,000 USD, and Albania's - 5,000 USD. Another neighboring post-communist country, Serbia, has a GDP of 6,000 USD. Albania and Serbia/Yugoslavia ceased to be communist countries decades ago, but the effects of the negative selection are still there.