Socialism happens when proletariat becomes the ruling class and distributes the wealth upon all the citizens of the country, providing healthcare, education, housing, enough wage to feed everyone. As proletariat are the majority, socialism becomes a proper democracy, where people can control their own livelihood, not some fat senator who received a 100k 'lobbying gift'.
Communism happens when all the signs of the capitalism vanish (no exploitation of people by other people, no money - goods are produced based on needs and distributed to everyone). It happens when people get rid of bourgeoisie thinking via education and personal experience of having society without hungry, homeless, uneducated people. This happened before (we see slave-owning societies of the past with disgust and feudal states with horror), it just took over several hundred years each time.