Google customizes search results aggressively, and intentionally. It uses many parameters and sources to customize this, from complex, detailed analysis of your search and browsing history, to your location, social network activity, purchases, and even app and extension installation. Nobody knows the exact algorithms or the entire criteria.
Searching while incognito and logged out of Google, is one of the best ways to nullify some of those automatic search customizations, but unfortunately, Google always sees a location, and will always customize your results based on location. They see this as a core feature of Google search, not a bug, or even an option to be turned off. Even if you use a proxy or VPN, Google will customize based on the origin of the proxy or vpn, unless it knows your location through other settings.
For a bit more (albeit limited) information, see Google's support page on location. Notice there is no discussion of using no location.