The community string is how SNMP devices identify themselves as part of a "group", if you will. If you set up ZABBIX to grab information from the Cisco router but you're using the default community "public" or a community by any other name, the Cisco router will reject the request for information. Once the community names match up is when it'll pass the information. This is SNMP v1. Some of your other devices may have options for v2c and v3. v3 allows you to create user names and passwords as well as encrypt the data that is being shared.
Think of Traps as unsolicited alerts from your router to Zabbix. In normal situations, Zabbix will request information every 10 seconds or whatever from the devices. When a trap is triggered, the Cisco router will send information to the server without the server requesting it. This can be useful in the event of failed log in attempts or such.
Once you start adding other, not so common devices to it, you'll have to start adding device specific MIBs, which for me was the most confusing part of it all when I was starting to learn how it works. I also had a hard time finding 'SNMP for Dummies' type material. But once you get it up and running how you want it's well worth the time spent.