This is how the difference was explained to us children in primary/secondary school, in our Socialist country at that time…
Communism is the Ideal that our society is striving to achieve. It’s the social setup with “from everyone according to their capacities, to everyone according to their needs”. Such system would, for example, not need money because everything would be fully-fully determined by the state, and life would be easy, efficient, free and beautiful. Man would be maximally free from harsh realities of physical living such as hunger, disease, crime, etc. Daily grind of having to go to work would be much lighter and the hours minimal and short, everything being made so efficient, so everyone would have plenty of time to do whatever one pleases, like personal development through art, sports, hobbies, or just leisure. To make it short, it would be as blissful living for every single individual in the society as theoretically possible to achieve, ever. In other words Communism is the pure, perfect, utmost Socialism.
Now, the real life “Socialism” is a necessary preliminary stage of Communism. In Socialism, the society slowly rearranges itself, slowly evolving towards the ideal (Communism), as it takes a lot of time to achieve that Ideal.. people being simply stubborn and ignorant, and stuck with their old ways. So, in Socialism we still have money, some limited markets, the State not involved in everything yet, etc, etc. And it’s not fixed, but is changing, constantly getting better and better… on its happy march towards the Ideal.
So, Communism is pure perfection, the one and only, like absolute zero temperature in physics. Socialisms are many and evolving and having to compromise with previous social orders and traditions, and so each country has its own, depending on how far they got with the process of State absorbing every social process into itself.