Yeah, I used to see this all the time. The earlier bus stops at a train station, and if a train has just arrived, there's a lot of passengers to load, so it's delayed a bit, so then it arrives a little late at every bus stop where more people have had time to accumulate, slowing it down even further. And then because the bus has more people, it's more likely to have to make stops.
Then the bus that started after it and doesn't have any of those slow-downs catches up to it, so you have two busses, one right after another, with the first one full, and the 2nd one empty. They all still make all the same stops, so it doesn't make sense for them to leap frog each other at each stop, and it doesn't make sense for one to slow down because there's another bus behind it, and if you delay that, then the people who depended on that bus will be late.
I'm curious what the actual work-around is for it, because I experienced this at least a couple of times a week, for a year, and my route involved a stop at the major hub for the two main train systems for the area.