There's a good reason that socialism tends not to work. And when you cut to the chase, that reason is precisely the same reason that capitalism doesn't work: human greed. We people are a greedy bunch, and no matter what socio-economic model we choose to follow, that greed shows.
So how does greed manifest itself in socialism? In two ways, really. First you have "big government", which can be every bit as people-hostile as big business. To complicate things, "big government" is often in bed with "big union". Unions are essentially organizations who, in their heyday, fought for the rights of workers, but who have started looking after their own interests at the expence of those same workers who fund the whole thing. So Big Government gains power on promises of being a socialist, and therefore people-friendly government, and then proceeds to use that power to further its own interests.
Then you have the rank-and-file people who support socialism. The problem there is that most people who preach socialism believe that socialism is a corporate and governmental responsibility, but that they as individuals are exempt. The message: My money is my money, everyone else's money should be shared in the name of kindness and gentleness. Usually this takes the form of blaming all the world's problems on people who are richer than we are, ignoring the fact that there's someone poorer than we are blaming us. So when you have a bunch of individual socialists all convinced that socialism is the responsibility of everyone but them, then no one takes the responsibility for making it work. The result is a form of capitalism, the worst kind of capitalism, a capitalism without responsibility. What's mine is mine and what's yours is ours. In the 1990's I had a fiancée who espoused that logic, except she made no efforts to hide it.
So in an ideal universe, socialism would be the way to go: everyone looks out for the interests of everyone else, which means that while you're busy looking out for the interests of your brother or sister, another brother or sister is looking out for you. If everyone could be taught to look out for everyone else, we'd have a utopia. Capitalism would go hand in hand with this type of socialism. We'd take on the responsibility of helping others, instead of hoping that our taxes would allow the government to do it for us. For social responsibility to work, fiscal responsibility is a must, and for fiscal responsibility to be successful, we should all look out for everyone else, knowing that someone is putting in just as much effort looking out for us.
Unfortunately, though, we are not in an ideal universe. As long as greed plagues us, as long as we expect others to take up the responsibilities we preach, we'll have problems no matter which socio-economic model we choose to follow.