G. A. Cohen has a diagnosis of what he thinks is going wrong with political philosophy, a diagnosis that is supposed to explain why, say, Rawls, Dworkin, and Nagel, or Nozick, Schmidtz, and Gaus, are relatively sanguine about markets, while Cohen thinks markets are inherently repugnant. The problem in his view is that philosophers illicitly allow facts about people are willing to do to act as a constraint on what they ought to do. But while it may be the case that you can't have a duty to X unless you can X, that doesn't mean that you can't have a duty to X just because you aren't willing to do X.
Cohen thinks that once you stop making this mistake, it's relatively easy to show that socialism is inherently superior to capitalism. Some philosophers have responded to Cohen by challenging Cohen's methodological critique. As for me, I've got a book coming out where I grant Cohen everything he wants to say about about the methodology of political philosophy, about human nature, about ought and can, etc., but I argue that even if we grant him all that, a form of capitalism is still morally superior to the best form of socialism.
Personally, I find Cohen's arguments (about can't vs won't, not about socialism) compelling. However, here are some thoughts about how one might challenge them. There may be a pre-existing literature on this point, so sorry if I'm missing that.
Normally, it seems false to say that just because you aren't willing to do something, you don't have a duty to do it. For instance, suppose I promise my spouse I will clean the bathroom. But now suppose the time has come to clean, and I'd much rather play guitar. I am unwilling to keep the promise. In this case, it seems obvious that "I don't want to" isn't an excuse. It doesn't excuse me from having to keep the promise. Rather, at most it's an explanation for why I'm acting like a jerk.
But now suppose that I was just about to clean the bathroom, when an evil wizard cast a magical spell on me. The spell causes me to have an intense, overwhelming desire not to clean the bathroom, as I promise, but instead to play guitar. The spell is so powerful that I cannot resist–no human being has or could be expected to have the willpower to resist the spell. Accordingly, I don't clean the bathroom and instead break the promise. Here, my default judgment is that I am excused for breaking the promise. The wizard is at fault, not I. (I could be convinced, however, to abandon this judgment, as it may conflict with other, deeper, more important philosophical beliefs.)
Now, let's modify the case a little more. Suppose the wizard didn't just cast a spell on me, but instead created me, from scratch, using his magic. In creating me, he gave me some degree of autonomy, but he also made it so that I would not keep my promise just now. Here, again, I'm inclined to think that I'm excused from keeping the promise. I'm mostly a moral agent, but, thanks to the wizard, I really can't keep the promise. I'm not really an agent when it comes to keeping this particular promise.
Now let's modify the case a little more. Suppose the wizard didn't create me from scratch. Instead, the wizard traveled back in time to the distant past. Suppose, in Star Trek-style, he casts a spell that "seeds" the DNA code of primitive organisms on Earth. This directs the organisms to tend to evolve toward human beings like us. However, he purposefully engineers the code such that it the beings that evolve will tend to have extremely strong desires not to keep certain promises, to harm one another at various times, etc. That is, he engineers them such that most people will just be unwilling to do certain things that, say, Gerry Cohen, or Peter Singer, or I, think they ought to do. In order them to do these things, they have to be willing to do them, but the wizard engineered most people such that they cannot be willing to do them. Here again, I'm inclined to think this excuses people from having to do things that would otherwise be their moral duties.
And you can see where this is going. Suppose that there was no evil wizard, but the result of the evolutionary process is exactly the same as in the last paragraph. Does that change anything?
My worry here is that ought implies can, and it may well be that people can't bring themselves to do certain things. Agency isn't all or nothing. Just as some people might compulsively engage in certain behaviors that they cannot control, so many of us might have an equivalent inability to do certain things that morality might otherwise require. It's not just that we are unwilling to these things, but that we are unable to be willing to do these things.
Of course, people are different. Peter Singer is willing to give more to charity (not as much as he says he should, though) than most people, including me. But that doesn't show that everyone could give as much as Singer. Everyone's psychology is a bit different. Perhaps Singer is a few standard deviations to the right of the curve when it comes to psychological ability to give to others. Perhaps some other people quite literally cannot will to give. For them to give 50% of their income to charity is physically impossible, because their brains just don't work that way. You might as well ask them to jump to the moon.
One might say that there is a slippery slope here: once you start talking about psychological can'ts for normal people, you end up tossing out all of morality. But that doesn't seem true. We might think instead that some people have so little psychological freedom that they aren't moral agents at all. Some might instead be complete moral agents, bound by all of morality. And perhaps most of us are somewhere on a bell curve between these two extremes. We psychologically can do some things but can't do others. We aren't willing to do certain things or to avoid doing certain things because our brains won't let us, and holding us responsible for being unwilling to do those things really is like holding us responsible for not being able to jump to the moon.