This is one of those features that seems really weird until you find a reason you need it. I use it for one very specific purpose: configuring my network switch, which requires accessing it from a specific IP and a few other configuration hassles that I can settle all at once with a change of "location".
Same if I'm doing something specific with a Raspberry Pi and want a direct connection rather than bringing everything together on one public-ish network.
I imagine this has caused a lot of confusion for users who open Network Settings and see this "Location" control that doesn't have any clear purpose for 90% of people. Taking it away isn't going to affect me much day to day, but it'll make my life much more complicated a few times a year. I could almost get by if network settings were per-user, and I could use fast user switching to change the configuration, but sadly they're system level settings.
The name "Locations" sort of misses the point of what it does. I think it's origins are pre-WiFi, or maybe not pre, but early enough that WiFi wasn't the overwhelmingly dominant form of network connection that it is today. WiFi has locations kind of embedded in the named network concept.
Ethernet though, does not. You plug the connector in at work, you plug the connector in at home, you plug it in at a hotel and there's no real way for the system to know what it is you've just connected to. And while it's not quite as wild-west as it once was, I used to have to play proxy configuration games and set up IP ranges and stuff differently depending on where I was.
My wishful thinking is that Focus, in the long run, is a modern take on Mac OS Classic’s Location Manager. You can *kind* of do this by switching network settings based on focus mode using a script.
Yeah, I always thought Network Locations should have been expanded to do more than just change the low level network settings and change the whole computing context. Focus is kind of that, but also not exactly. It seems Focus is more about your social context than your computing context.
But yeah, some kind of macro-configuration mechanism would be welcome.