The question that hasn't been asked is: what happens when you start a process asynchronously (with & ) and why is that different to typing a command without the & ?
The important thing here is called "inheritance". When your interactive shell has nothing else to do, it sticks up your prompt (the PS1 variable) and puts a read up on its stdin. It hangs on this because the window manager has no keystrokes to write to the stream that it created to talk to shell when it was initiated.
If you type a command name, the shell will "fork" (replicate) itself, and the child inherits stdin, stdout, stderr from the shell. The child shell then tells the kernel to load the command over itself ("execve").
The catch is, the window manager now has two processes reading the same stream -- the original shell and the child command. What to do? Who gets to read the next thing you type?
For a synchronous "foreground" child, the child command ought to get the data. So the shell does not put up a read on stdin. Instead, it goes into a sleep, from which it expects to be awaken by a SIGCHLD when the child exits and its exit status is available. So there is no way to tell it to start a second foreground child,
For an asynchronous "background" child, the child is forked with stdin disconnected (connected to /dev/null). Stdout and stderr are still connected (unless they were redirected) so async processes can still send to the terminal (although line synchronisation may be random). The shell then puts up its prompt and waits for the next command (which might be "jobs", for example). It can start other async processes, or run one command at a time, or process built-in shell commands, so you can have many background jobs at once. It still gets a SIGCHLD when each async child exits, and it can go collect the status, remove it from the jobs list, and so on.
I suspect that, when you close the terminal, the shell gets EOF on the stream that it was getting window input from. It terminates all its children, using an internal list set up as it starts each one.