SNMP vs Trap

Pull Model:
Monitoring System (e.g. Manage Engine OpManager) sends SNMP request to the SNMP agent running on the monitored device (e.g. Cisco Switch) and receives the response.
Push Model:
SNMP agent running on the monitored device sends messages in the form of traps to the trap destination.
Communication happens both ways. UDP port 161 is used.One way communication from device to trap destination. UDP port 162 is used.
SNMP requests can be scheduled on specific intervals.Traps are spontaneous. They will reach the destination as soon as they are generated.
SNMP community string is mandatory to get a SNMP response.Community string is not mandatory to receive the trap message.