Good Question. I learnt the hard way and are still learning.
Some notes (feel free to correct me anyone)
SNMP - Simple Network Management Protocol
In short its a way to send a command to a device and for device to take some action.
Two Key Sides - Read and Write
Read -> Send a command, Receive a value (or group of values)
Write -> Send a command, that either sets a value to start a process.
What are the Commands ?
These are a group of decimal seperated numbers called OIDs. Vendors define these in text form called MIBs.
The are some generic OIDs for base informaion and thats a good place to start.
The hardest thing I have found is "what can it do and what OIDs do I use to do it?"
To help here, you need a MIB Builder (to compile the MIBs into OIDs).
If you have all your MIBs loaded into an snmp system, then to a walk of .1 this will list every value that can be read (or at least what you can currently see). Since the MIBs are loaded you should get text descriptions of the values.
Play, Play then Play some more. Linuc has the cli tools snmpset, snmpget and snmpwalk these are a good place to start.
Feel free to ask any questions.