Capitalism can no longer address the problems that humanity faces. Capitalism only leads us to what is profitable, not what is necessary. Ignoring useless arguments about matter re-arrangers and robots that make other robots so that humans never produce anything again, communism will come about because capitalism will outrun its ability to be capitalism, and it will have to change.
There is no room for moderation or responsibility in capitalism. It is all about consumption, demand, and the profits that come from meeting those consumptive demands. But our world is running out of many essential resources, including rare earth metals, helium, fossil fuels, and food. Our environments become increasingly polluted, such that it is no longer merely streams that you cannot swim in, and forests killed by acid rain. We are changing the climate itself of the planet. Catastrophic consequences await humanity if it fails to solve any of these problems. And quite simply, with the driving forces behind capitalist social logic being what they are, the system as it presently exists cannot deal with any of these problems adequately.
As for the matter rearrangers and what not...we already live in a post-scarcity world. The issue is not getting in line to wait for when something is produced, it is distributing what is already produced. We already produce so much more than what is needed, and yet so much of humanity struggles on without, or with extremely little. Why is this? It is because capitalism cares only about profits, and less profits are made when all of a product is distributed. Capitalists create artificial scarcity to drive up prices. When distribution is based upon one's ability to exchange money for an item, and the people responsible for giving you the item are also the ones responsible for giving you the money, and they don't give you enough money to get the items you need, then the system is broken. We are literally denying people the produce of society so that the property-owners can generate more profit for themselves. That can't go on. There's literally no reason for it, no justification for it
Further, continuing profits are made via the imperialist system, whereby the Developed World exploits the rest of the planet for raw materials, productive capacity, and commodity dumping grounds (aka, markets for goods). But this trend cannot go on forever. Through this process, other countries are slowly becoming richer, and they in turn are exploiting the poorer ones. We once exploited South America and East Asia, but now many countries like Brazil, South Korea, and China are rich and productive enough that their own capitalist class is imperializing the poorer countries in Africa. Well what will happen when that imperialization enriches the Africans enough and develops their countries enough so that they are ready to imperialize another place, or to make labor laws that prevent imperialism in their countries by the richer countries? What will happen then? The system cannot go on forever, eventually it will run itself out. And when it does, the whole house of cards will tumble.
Capitalism will destroy itself via these processes in time. The duty of the communist is to make sure that we destroy capitalism before it destroys itself, because when it does destroy itself, it's going to take the rest of humanity with it.
I will be honest. I am not optimistic about the future. I do not think we can beat the forces of Capital which keep the people satiated and thinking one-dimensionally, who police our streets for signs of unrest and dissent against the system. I hope for the best, and God knows I struggle for it, but I expect the worst. We can never know until we try.