UPDATE: as soon as I make this post the department does update the data for Google maps and the transit app! Those should be good options to use now.
This year has been plagued with terrible traffic, bus unavailability, a lack of drivers , changes in the scheduling (a single bus changes routes more far frequently over a shift), and how buses are tracked.
THE QUICK SOLUTION: First if you are using Google Maps or the Transit app then stop!!! Those apps are relying on summer data and the fall routes and schedules were never uploaded. If you are using the Mbus app, switch to Maizebus (or UM Magic Bus) which is getting updates and will show you if a bus is actually live tracking, or if it's simply "scheduled". This is a new change to the data where Mbus and the CCTC departure boards groups both together, meaning with lots of canceled trips lots of buses will never actually turn up.
Ok now heres a long and detailed explanation for why things are happening.
One of the biggest reasons is there are simply not enough buses available for service and drivers (as of now) to operate all the shifts. The driver side will likely improve soon, but the buses are much harder to fix. There is a massive battery recall that affects most of our electric buses which is taking a few out of service at a time for full battery replacement, and also limiting the maximum and speed of charge while they wait for replacement. This limits the number of hours they are available for service. The recent pile up at the CCTC on Monday was also the result of an electric bus failure, which can be quite common. However regardless there just are too many broken buses waiting to be fixed.
As commuter shifted to a new and more frequent timetable (every 5 min now), all of the bus shifts were reconfigured and lots of shifts were added. Shifts are now split up across far more routes, meaning a bus might start driving Bursley Baits, switch to Northwood, Commuter, back to Bursley Baits, and finish with a loop of Wall Street. Before it might be all one route. Within those shifts, there are also often a bunch of stupid repositioning. A Bursley bus might head to central in service, go out of service back to north, and then head back to central back in service. This is exactly why you all of a sudden are seeing so many buses going out of service at end points like the CCTC. Theoretically departures haven't changed, but with many delays and cancellations this quickly breaks down.
There also was a recent change in the API data that all the tracking apps use. The data always had live departures, which is a bus physically tracking along the route, and is pretty reliable barring traffic. However, a recent change was made to include scheduled departures when the system isn't tracking a live bus for that specific run (the block of trips that a bus will make). This can be very useful as a bus with a broken cellular connection or other computer issue will still be made available for you. It's why in years past you would see "No Departures" when there's really a bus in 5 min. However, this quickly breaks down when we have a large bus and driver shortage resulting in lots of canceled trips, and the API doesn't reflect these changes.
The Maizebus and MagicBus apps I think are the only ones that differentiate Live vs Scheduled when you click on departures for a stop. I would highly recommend switching to one of those as regardless the Mbus app is quite old and not receiving updates anymore. Bonus for Magicbus (despite terrible UI) is it shows detours by far the best out of any app. Hopefully we should see reliability of the cellular connections improve in the coming months as things get repaired or replaced.
I hope this answers a lot of questions to the frustrations that you might have, and I will try to answer any questions to the best of my knowledge. I've spent a lot of time over the summer looking at the API data for a personal project and regardless as a student driver I get the inside scoop on a lot of this. Thanks!