On Facebook I can advertise to people in a well-defined geographical area, who are interested in a scarily well-defined set of things.
On Google it's more of a just-in-time approach; catching people who are searching for something in a certain place etc.
My business doesn't lend itself to Amazon ads, but I can totally see how it'd generate an ROI far exceeding Google or Facebook for product businesses that sell on Amazon.
Adwords location targeting options have been around some time with 3 targeting options for location: http://prntscr.com/kq9coa
And my advice when using this - Adwords defaults to "People in, or who show interest in, your targeted locations" but I would recommend "People in your targeted locations" as the first seems to be a very loose definition by Google and in my experience brings in dud traffic.
Location settings are one of the common set-up mistakes when I see client historic accounts. And there's some good tricks with combining these settings for business that need physical proximity that can make them very effective and flexible.
you don't need to. since google is interested in providing you cheap relevant clicks, it will deliver them to you without exposing all the targetings. all the data available wil be utilized in choosing the right audience anyway.
And if you do branding... branding is hard to measure anyway.
Note -- I'm not affiliated with google in any way, I just think their offering makes a lot of sense.
If you're selling a product that's available nationally and appeals to a reasonably big demographic, you might not care much about targeting.
But if your business only supplies weddings in New York, then impressions/clicks by people who aren't planning a wedding in New York are largely worthless.
If they have an Alexa device, Amazon can get shampoo manufacturers to pay to be the default choice when someone says “Alexa, order more shampoo.”
https://support.google.com/google-ads/answer/1722043?hl=en
Disclosure: I work for Google in Ads Developer Relations