A UNIX process is a software being executed. When you open a software like a browser, a new process is created. Each open tab in the browser can be a new process. A child process.
When a process finishes its work, it becomes defunct. You can also assume that it becomes a zombie, because it still exists in the process table, but is dead as a parrot.
The parent process must end the child process, so that the process table can make its ID and resources available for new processes. It must be buried. If for some reason the parent doesn't do it, or if it takes too long, the process continues dead. But alive, according to the process table.
Zombie processes can be removed by sending a SIGCHLD signal to the parent. If it doesn't work, the next step would be to kill the parent process.
If the parent process is killed, the zombie processes are inherited by the init process, which always ends its child processes, removing all the zombies.