In American English (my native language), I can pick out generic regional accents and specific city accents.
I know there are regional differences between, say, a Dallas accent and an Atlanta accent. And if you played both for me, I would be able to tell you that they were different from each other, but I wouldn’t be able to tell you which was which. Ditto for Savannah, Norfolk, Memphis, Jackson, and so on.
In the most general sense, as far as cities, I can easily identify Baltimore, Chicago, New York/New Joisey, and sometimes New Orleans (depending on how diligently the speaker is not trying to hide it). I can also pick up on the (for lack of a better choice of words) “Valley Girl” accent of Southern California, which by all rights shouldn’t still exist in 2018.
In terms of regions, I can distinguish different Southern accents, but not tell you which was which. I can distinguish Upper Midwest (Wisconsin, Minnesota) from Lower Midwest (Indiana, Ohio) and General American (my own accent, which is actually a regional accent that more-or-less includes Kansas City, Des Moines, Sioux Falls, Peoria, St. Louis, and points in between).
Foreign English accents: excluding regional differences within each country, I can generally tell Australian from New Zealandian from English-English from Jamaican from Canadian, and so on.
Regional English (England) accents: I can tell the difference between, say, Geordi and Cockney and Mayfair, but almost certainly couldn’t identify them by name.
Foreign languages: if pressed, I could probably pick out a Mexican Spanish speaker from a Spanish Spanish speaker. All the rest (Dominican, Cuban, Puerto Rican, etc.) just sounds the same to me.
Canadian French and French French sound exactly the same to me. As Og is my witness, I wish someone would make a video showing someone in Marseilles and someone in Montreal reading the same text aloud - say, a passage from Hugo or something - so see if I could pick up a difference.