The difficulty in hiding information that might be useful is deciding on when things are useful or not.
So the output from the services that are stopped needs to be captured and hidden unless things are important. The services however need to behave nicely to allow this capture to work, and some don't or have not been adapted for your distro so they (still) write directly to the screen. Rewriting the splash screen on a regular basis (to wipe out output) would probably lead to an ugly refresh flicker.
I prefer not to have a splash screen at all, thus being able to see where a service starts up slowly, e.g. because the DHCP server is down, without having to wait for a timeout with the splash screen hiding why bootup takes so much longer. Or on shutdown, why a service cannot be stopped.