Profiles are great. I've used them for years. Much better than containers, which separate your data sort-of-but-not-quite. A profile folder has everything . You can copy it, back it up, plug it into a completely new Firefox installation later. That portability is a killer feature, but scriptability needs to be improved. The manual says you can do: >`firefox --profile Start with profile at ` But that will not work as…
> ...firefox.exe" -P "profilename"
and then `taskbar.grouping.useprofile true` so only windows from the same profile are grouped together and some custom recolored Firefox icons for those pinned shortcuts and custom per-profile userChrome.css styling (#TabsToolbar background-color) for easy visual differentiation of a window's profile.
For Windows 10, no scripting is needed. Just the initial GUI profile setup.
> ...firefox.exe" -P "profilename" "https://www.example.com"
from terminal works exactly as expected regardless of how many profile instances are currently running or their state.
You can even have multiple versions of Firefox installed and point them at different profiles. I have some profiles on ESR and some on Standard.