None of what we're about to mention is NetworkManager's fault. It is the distro's choice to use NetworkManager regardless of the installation options selected. So let's pick on Ubuntu.
Remember that NetworkManager is designed with mobile desktop users in mind. If you're using a laptop that is not connected to a network upon boot, it makes sense that the boot process should continue normally regardless. Historically, daemons start up in a particular order to ensure that certain dependencies are met. For example the Apache Web server needs an active network interface before it is started so it can start listening on port 80. This concept of service order goes out the window with mobile users, as they frequently disconnect and connect to new networks.
The biggest pain point with NetworkManager in Ubuntu is that it is installed no matter what type of installation you run. Ubuntu Desktop, which is what would be installed on laptops too, automatically installs NetworkManager. This makes sense, but Ubuntu Server also installs NetworkManager. On large networks, where home directories are usually mounted via NFS and other network services are required for proper functioning of a newly booted machine, NetworkManager is painful. If the DHCP response isn't lightning fast, the boot process will continue on without a network interface, because NetworkManager does not wait. With today's fast computers and Ubuntu's upstart service model, services are started so quickly that most will be running before networking is up (since NetworkManager didn't wait). This is most painful with stationary multi-user workstations and servers, and we recommend simply uninstalling NetworkManager.
NetworkManager is wonderful for mobile users. Not only does it make network changes seamless, it also allows the casual user to easily configure wireless, mobile broadband, and VPN connections. This is a huge step forward for Linux, since many people in the past who have taken Linux for a spin got quickly frustrated when wireless didn't "just work." Without wireless, it's impossible to go much further and give Linux a chance. Therefore, we suggest NetworkManager is one of the most important Linux projects, in terms of getting a wider audience.
Article courtesy of Enterprise Networking Planet.