Are you sure Google guessed in Example 3? It usually does the "leave now to get there on time" for every event in your calendar (for which it can find some kind of geographical reference, fitting or not).
Yes, if you have location history enabled, it seems to pretty much assume that if you go the same place during the day often enough, it calls it work, and if you spend enough nights at a place, it calls it home.
Google had picked a location for me and called it "work" which was not the exact street address but close enough. I know I didn't ever key in an address and explicitly tell them it was where I work, or else they'd have had the correct address from the get-go.
> ... if you spend enough nights at a place, it calls it home
Finally! We can replace the old cliche where a girl has basically moved in with a guy once she has a toothbrush at his place, by a new one, where she has moved in once her phone calls his place home.
Yes, it mines google latitude data for that. Since I left my office job and started running my own business from home. Latitude has been getting very confused about where I work. Last time I checked it thought I worked at the local shopping centre.
Edit: Just checked, it now thinks I work at my kid's school.
Your preferred credit card issuer already knows this - if you have a propensity to eat out during the week. It can look at where you are eating most of the days during the week, aggregated over time, to guess which part of town do you work, vs your home (it knows your home address). It can also look at your spend at gas stations over time to see if you own an SUV vs a Car, or whether its a fuel efficient vehicle or not.
Aggregated data from a number of different sources can give a near-complete picture on a customer.
I think Google did guess his home in example 3. It looks like Google Now tries to build a model of where your home is based on your GPS locations during sleeping hours.
The reason I think this is the case is that it kept on updating my "home" while I took a road trip across the East Coast. So when I moved from NYC to D.C. everyday it would tell me the commute to NYC (Home) because I had spent a few days there and Google thought I was based there.
I'm not sure how it figured it out in my case. I turned on the service and a few days later, I noticed it would start alerting me my commute times in the morning and evening. I was looking up something on google maps and it had marked my work and home locations on the map. Kind of creepy, but I'm starting to like it. The way that it anticipates my needs is very helpful.