Before we used nagios. Because of lack of time, we only used basic functionality : the most of all the hosts was only pinged.
Monitor more was perfectly possible but very time consuming to achieve.
By using CMK, on unix and windows hosts a lot of checks are automatically monitorred.
Before, we had a awful lot of scripts that send messages to people when a problem occured.
By changing such a script to a local check which does not send emails but send its results to Check_MK, you have one central point where you can see what is checked, who was notified when, escalate problems to other notification manners like slack, sms.
Network devices are monitorred by using snmp and this gives you.
We try to monitor as much as devices possible, not to get notifications from every device but to have a central point where you can see the impact of e.g. a network problem. Review collected by and hosted on G2.com.