Now that you know a little about System V init, you can prepare to forget all about it. Starting with Ubuntu 6.10, System V init has been replaced with a new program called Upstart. While Upstart is backwardly compatible with System V init (you'll notice that all of the init scripts are still there), this project aims to replace the concepts of runlevels and init scripts with an asynchronous and event-driven system.
One interesting thing about Upstart is that it's an event-driven system. System V init scripts are generally triggered only when runlevels change, but Upstart scripts can also be triggered when other Upstart scripts start or stop. You can even define and trigger your own events. This means that Upstart doesn't just start and shut down the machine; it actually can launch and stop scripts based on changes that occur in the system while it's running. In addition, since one Upstart script can trigger another, you can accomplish a lot more with it. For instance, if you have an Upstart script that requires the network to be up, you can set the script to trigger only if the networking Upstart script started successfully.