Polling applications are the most common type of SNMP monitoring applications written. They typically consist of several SNMP GETs or WALKs that deposit the returned values into string variables to be manipulated and processed however you see fit. In the case of a disk array or NetApp Filer that might mean getting the disk count OIDs and then sending mail if the "Failed" disk count is higher than 0. If you were monitoring a router you might simply retrieve the packet counts and error counters OIDs and then send those values to a graphing application such as RRD to be processed.
Writing polling applications is not difficult at all. With a basic understanding of your preferred programming language and some string parsing knowledge you can write almost any type of application you could require.