Difference between --invisible and --headless mode

LibreOffice on linux (Ubuntu 19.10 in my case) can be lauched in two different mode from terminal, invisible mode and headless mode:
the manual says:

--invisible  Starts in invisible mode.

Neither  the  start-up logo nor the initial program window will be visible.  LO can be controlled and
documents and dialogs can be opened via the API. When started with this parameter, it can only be quit using the 
taskmanager  (Windows)  or  the  kill  command (UNIX based systems).
--quickstart does not work with this parameter.


Starts in "headless mode", which allows using the application without user a interface.
This special mode can be used when the application is controlled by external clients via the API.
It implies --invisible and strictly ignores any GUI environment.  --quickstart  does  not  work  with this parameter.


To my eyes those definition are very similar (almost thei does the same thing). So when I shuld use one instead of other?
Also what does it mean that “strictly ignores any GUI environment”? it’s implies lossing user configuration set up from interface? It use a fresh user to start in headless?


--invisible is for applications that start LO programmatically, do something behind the scenes, then show a document to user expecting some interaction, including using dialog boxes, then may hide again and do something else.

--headless does not expect any interaction, and is for applications doing everything automatically. Although it may show a document (an oversight IMO), it can’t show any dialogs, and UI would work erratically, just because this mode is not designed for that.

Thanks very clear!