I’m not referring to grandchildren: if you have parent P with children C1 and C2 and P receives -9, P dies and C1 and C2 persist.
Yes, but if a process gets a SIGKILL, the user is explicitly saying that they don't want that process to do anything else. Otherwise, they would send a SIGTERM.
So a SIGKILL is really the user passing the responsibility of the children onto some other process.
Doesn't kill -9 impact the ability to kill even children, due to not being given time to clean up?
Yes, but at that point, it is the problem of the grandparent, which isn't dead.
When a process does, its children are reparented to init, not to its parent. So the grandparent can do nothing.
Yes, I know. But leaking grandchildren is still a problem for the grandparent.