The question is like asking: What's the difference between a beetle and an insect? Both words are used in so many different ways (especially socialism these days) that there is no clear distinction to be drawn, until you focus on a particular ideology (Marxist Communism vs. Anarchist socialism, Maoism vs. Social Democracy, etc.). Communism is a form of socialism. There are actually many different theories of Communism, and they are pretty different. But they all grow out of the teachings of Karl Marx. Socialism is a broad term used to mean a lot of different things. Socialism is an intermediary to communism where the state (and so the people) own the means of production. This is meant to stop exploitation of the workers. Communism is a classless, stateless, moneyless society where private property doesn't exist and everything is owned communally. Hence, 'communism'.