When you run Home Assistant OS here’s what it boils down to:
At the very bottom of the stack you are running a custom Linux OS developed by HomeAssistant devs that is called “Home Assistant OS” (HassOS for short).
It’s a very minimal Linux distribution, it is VERY stripped down and limited in it’s functionality. It has the absolute bare minimum to be able to run Docker. It has no package manager, no way to install any extra packages into the system itself (not that I know of) and has almost no apps\programs that you could run. I don’t think it even has the simplest text editor in it. But it has “ping”!
On top of that HassOS you are running Docker. Docker is essentially a program that allows you to run “Containers”. The simplest way to think of “containers” is that they are just a kind of Virtual Machine. And “Docker” is something like “VirtualBox” that you would install on Windows. The difference between a full VM and a container is that containers use less resources, have less processing overhead and have more direct and tight access to the host system. This is simplified description, of course, but it’s easy to understand one.
And then finally you run a bunch of Containers\VMs inside Docker. Main one is HomeAssistant, which is the “Core” and is the base of what Hass is. It’s UI, it’s built-in integrations, automation engine, etc etc. Second most important container is Supervisor, it’s responsible for updating your HomeAssistant, installing other Addons (other Containers) and managing the system. There other addons too.
That’s it.
So, in this instance “SSH & Terminal Addon” is a Container inside Docker. When you connect to it… I actually don’t know what they do. I suspect they redirect your SSH connection into your HassOS, to the host system. But not sure.
There are ways of running HomeAssistant without HassOS, for example, on your own Linux distro. But it’s becoming less and less convenient and there’s less and less reasons to do that.