Основная разница в том, что марксизм - это учение, а коммунизм и социализм - стадии коммунистической формации внутри этого учения. Конечно, существуют еще множество определений социализма и коммунизма, но т.к тут затронут марксизм, то я буду пользоваться только этими. Социализм, если брать только марксизм (не марксизм-ленинизм, сталинизм и т.п) и не трогать тот же анархизм - это первая стадия коммунизма, формации особенности которой определяются общественной собственностью на средства производства, соответствующей высокоразвитым общественным производительным силам. В первых чертах определения этому понятию дал Маркс в "Критике Готской программы"(рекомендую прочитать для полного понимания): «Мы имеем дело не с таким коммунистическим обществом, которое развилось на своей собственной основе, а с таким, которое только что выходит как раз из капиталистического общества и которое поэтому во всех отношениях, в экономическом, нравственном и умственном, сохраняет ещё родимые пятна старого о