Why is Google Maps so terrible at predicting travel times?

Every time I start a trip of any significant distance, I cue up google maps, which helpfully provides an estimated arrival time. Every time I finish the trip, inevitably later than google thought I would, I wonder why a company with so much data at its disposal is so atrociously bad at guessing how long I'll be on the road. 

Take a recent trip along major highways on the east coast. I left at 9AM. Predicted travel time: 6 hours, 32 minutes. Actual travel time: 9 hours. 

In contrast, google does a terrific job of predicting the duration of a trip across town, or home from my firehouse when I get off duty at 6AM. Intuitively, this makes sense, but when you really think about it, the duration of longer trips should be even easier to predict. 

Why? For starters, little delays during the course of a long trip will tend to smooth out the overall result. If I'm taking a drive of ten minutes and get stuck at two stoplights, adding two minutes to the trip, I've just skewed the results by 20%. But over hours, a delay at one red light will be offset by a green light elsewhere. The longer the time on the road, the more these small factors will tend to move the result toward an average.

Second, google has years of data on traffic speeds, particularly along major roadways. July 4th northbound Interstate 95 between Richmond Virginia and Washington DC? Google could probably predict travel time within 10 minutes for any time of the day, even allowing for one or two inevitable delays due to fender-benders along the way. It's (probably) impossible to predict major incidents, but aggregated traffic data should yield remarkably accurate results for normal days. And the longer the trip, the more accurate the prediction should be, because there should be less variability in the average number of disruptions. 

I have no idea how google guesstimates its travel times, but it appears to use a bafflingly simple approach of calculating the trip as if you were simultaneously passing through all waypoints at the moment of departure. So if you're departing at 5AM, it assumes you'll be cruising at full speed the entire way, instead of projecting forward - hey, it looks like you'll be passing through crushing gridlock in [major metropolitan area] during rush hour... that might just slow things down by, say, hours. Google should be utilizing its vast stores of data on how long it took other people like you passing through the same area during the same time before, even if no such delays exist at the time of departure. Heck, it could throw in 1) during similar weather conditions, 2) on this day of the week or around this major holiday, even incorporating 3) how you drive, if you're willing to let them harvest your data with such abandon.

All I know is, it's far more annoying to be given foolishly optimistic estimates, which are revised backward as you drive, than it is to be given the bad news up front. Listen up, google competitors, if any of you still exist. If you can give me an estimated time of arrival that doesn't diverge from reality more as the duration of the trip gets longer, I will drop google like a hot, inaccurate potato.