Dependencies between services exist, and for good reason (e.g. various services depending on a database). How do you propose to deal with them?
1. Web servers return error pages when databases are unavailable. They don't go down.
2. Postfix doesn't die if your virtual maps database server is not available. It waits patiently.
This isn't rocket science.
sysvinit dependency management is horrible as well so I cannot complain about your point there.