Despite its name, SNMP is not really a very simple protocol. However, it's a very common method for accessing information on many kinds of networked devices, including monitoring boards, usage meters, and storage appliances as well as workstations, servers, and routing equipment.
Because SNMP is so widely supported and typically able to produce such a large volume of information to trusted hosts, it's an excellent way of gathering information from hosts that's not otherwise retrievable from network services. For example, while checking for a PING response from a large router is simple enough, there may not be an easy way to check properties like the state of each of its interfaces, or the presence of a certain route in its routing tables.
check_snmp in Nagios Core allows automated retrieval of this information...