Small point: I think the ETA is based on the position of the bus and how long it would take to drive to your stop in perfect conditions. It doesn't take into account traffic or any other road blockages or accidents like Google Maps or others.
At least this is how I've observed it working here on AC Transit in the bay area. Many times I have sat at a bus stop for 25 minutes waiting for a bus that was always five minutes away.
It does consider traffic, reroutes in case of need, etc. but that doesn't really affect bus times here, heavy traffic roads have exclusive bus lanes, inner roads don't tend to have much traffic even during rush hour.
At least this is how I've observed it working here on AC Transit in the bay area. Many times I have sat at a bus stop for 25 minutes waiting for a bus that was always five minutes away.