I would sometimes watch access log on my website and click on referer url to see the page that sent me traffic. Often when I click a google query my site wouldn't be there. Since it was just a couple of minutes after the user came I doubt that ranking changed that fast. Adjastent pages don't have my website either. So it looks like Google is serving different results to different users. My content and search queries are not geo-specific so I double geo-targeting has anything to do with it. My website is about 100 days old.
It may be personalizing results for other people that are coming to your site, based on their location or past searches
It would depend a bit on which of Google's datacenters your results came in. It may not match the referral one that your visitor came in by. The datacenters are not in pure synch.
The results do vary quite a bit by user. In addition to factors like geo-location and the issue of multiple data centers, Google now adjusts its rankings for registered users based on their search history. See http://googleblog.blogspot.com/2005/06/search-gets-personal.html
I think it definitely varies per user. I saw one of my sites listed #1 for a keyword once, checked it on another computer, and it was #2.