И грузовые, и пассажирские поезда ездят по расписанию, но есть отличия. Расписание пассажирских поездов представляет собой перечень конкретных поездов, которые будут отправлены с вокзалов и поедут с остановками или без до конечной станции.
Пассажирские поезда едут всегда по своим маршрутам, на станциях они останавливаются на небольшое время для посадки/высадки пассажиров, и едут они с достаточно высокой скоростью.
Грузовые поезда действительно следуют в свободных промежутках между пассажирскими. Обычно они не делают коротких остановок на станциях (разве что для пропуска других поездов, или для смены локомотивной бригады), но зато делают длительные остановки для смены локомотива, или для отцепки вагонов. Сменный локомотив иногда может задержаться, а еще после смены локомотива нужно провести опробывание тормозов, это длительная операция. Все это приводит к тому, что для грузовых поездов расписание не жесткое, не привязанное к конкретному поезду. Фактически оно состоит из возможных моментов отправления поездов с одной станции на другую - "ниток графика движения поездов (wikipedia.org)". При отправлении со станции поезд поедет по ближайшей подходящей нитке графика.
Каждая нитка имеет номер, и если все время ехать по нитке графика с одним и тем же номером, то пропускная способность участка железной дороги будет максимальна. К сожалению, это не всегда возможно- например, если на перегоне между станциями производится ремонт путей ("окно") . В этом случае поезда уже не смогут ехать по своим ниткам , и им нужно будет задержатся на станции и отправиться в более позднее время, заняв другие нитки, предназначенные для других поездов. Чтобы подобный сдвиг не приводил к задержкам в движении, график движения формируют с избыточным запасом ниток.