A company is the top level container for the entities that comprise one or more websites plus spare data.
Multiple page sets, themes and domains can be managed in one container. The container is called a company whether actually a company or not. The data for the websites within one company can be related or completely different however if the data are unrelated it makes sense to split into separate company containers.
It is possible to grant cross company access for staff so more than one company's data can be manage by a given person. This is most useful for the super-user, ordinary admins can just login to each company using separate identities.
The company that is set on login is taken from the URL domain, the domain is match up with a website and the contain company is selected. Thus any domain name within a given company can be used for login to that company (not that it matters if you only ever use just one).
The domain in the URL used at login determines the user's default company; the domain in the URL is matched up with a website and the containing company is selected. Thus any domain name within a company can be used for login to that company..