When do I actually need to decorate my methods with the SharePointPermission attribute? I've come across some code samples that have them and some that don't.
The reason for decorating your code with SharePointPermission is if you want to deploy your dll to bin (instead of GAC) and you're using a tool like WSPBuilder which looks for these CAS (Code Access Security) attributes and build the CAS policy entries in Manifest.xml based on these.