This command will open firefox in the private browser mode correctly
firefox -private &
However this command is only opening firefox in regular browser mode.
What is the difference between these two commands?
The space is actually irrelevant. The shell parses the command in exactly the same way.
The difference is whether Firefox is already running or not. It appears that the
-private option only works when starting Firefox. If Firefox is already running,
firefox -private opens a non-private window in the existing Firefox instance.