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.