The fundamental problem with socialism is that it won’t scale organizationally. Too many people look at very small scale communal organizations of a few dozen or even a few hundred people and assume that form of organization can scale up to the hundreds of millions.
The best way I’ve found to explain it is to use the example that everyone has experience with: a group of people deciding on where to have lunch.
One person can decide easily, two require a quick conversation, but the length of the conversation increases exponentially as more people are added. By the time you reach more than a dozen or so people, you start having to delegate individuals to go around and get everyone’s opinion. By the time you have two to three dozen, you start having votes and committees. Planning for a hundred people requires votes, committees and a week’s lead time. Deciding for thousands requires specialists and months of collecting opinions and planning. Deciding for 10,000 or more is simply impossible.
Everybody understands intuitively that the more people you add to the lunch group, the longer the decisions take to make, the more time and resources go into making the decision and the more mediocre the final choice — e.g., it takes hours with numerous phone calls and emails and everyone ends up eating bland, overcooked chicken because everyone finds it the least offensive dish.
What socialists don’t understand is that all forms of collective decision making suffer from this scaling problem. They naively assume that because they can imagine how they would make the right decision in any particular circumstance (where to have lunch with a couple of friends) that therefore we can create a real-world political system to do the same thing (decide where 300 million people will have lunch).
Socialism and collective decision-making in general always lead to slow and costly decisions that result in mediocre outcomes. In the end, we feel lucky if we eat before 3pm and that we find enough ketchup to hide the taste of the entree.