All ideologies are based on human nature. Capitalism is based on greed. Communism is based on altruism. But just as there are no purely altruistic people (or purely greedy people) both of those things are unrealistic, and attempts to implement them in their pure forms fail. Exactly. Eventually you say "get your own damn food" - your greed overcomes your altruism. Likewise, imagine if you lived with a few friends and acquaintances and you said "everything I do - you are going to pay me for. I am a proud capitalist." They say "whatever" because the rent is cheap. Then one day your neighbor Jenny gets attacked in a parking lot and she calls you to come get her. "I don't have any money," she says. "They stole it." And you decide to abandon your ideology and go pick her up. Capitalism, like socialism or communism, does not mirror human nature accurately either.