As someone who is deeply familiar with networking but only vaguely familiar with Linux's arcane ways of configuring its network-- which apparently change drastically depending on such things as:
* whether you want it to be per-session (ifconfig)
* or persistent (/etc/DependsOnYourDistro/someFiles)
* whether it should actually persist with the interface rather than how the kernel decides to allocate /devs to the actual interface
and so on-- I am quite happy to see NetworkManager. THere is no reason that setting up a bonded or tagged interface should be more complicated than saying it verbally, or why I should have to fall back to CLI in order to do that.
Heres a fun tip: not everyone wants to be a full-time Linux admin devoted to a particular breed of distro. Some of us have a job in supporting a very wide array of systems, and the less arcane black magic we need to learn for each individual system the better. Historically Linux's networking has been AWFUL, as just a few years ago it was considered normal for a box's IP-to-interface mapping change on reboot because apparently its logical that the OS randomly assign interface IDs to physical interfaces, and there were roughly a hundred different methods and places to configure all of the various networking pieces (resolvers, mac addresses, firewall, bonding, vlans, device/interface mapping).
It boggles my mind that there are people who think that complexity for complexity's sake is a good thing. CLI is wonderful for batch operations that you do every day. GUI is wonderful for things you will do once a month, and dont want to use mental bandwidth for remembering a command.