Yes, I’ve looked at the caching a fair bit. I don’t think I’ve got it 100% right yet, but I do think it’s possible (to get it right).
Yes, or if the guest wants to use a locale different from their browser. For example they’re using a computer at a library, or school, or some other shared computer, or they themselves are multilingual.
The set locale from accept language header setting still works by default with the locale switcher enabled. If the user hasn’t explicitly clicked on another locale in the switcher, it will default to their browser locale via that setting (if possible).