A method should be static if you simply don't need "this", which is the reference to the instance of some class. This "this" is an implicit method which is passed to all
instance methods. (This way, "instance method" is antonym to "static method".) You only can call an instance method on some instance (
instanceName.MethodName(/* … */
)) and you can only call static method on the type (
TypeName.MethodName(/* … */
)), so that instance becomes the reference to the instance passed to an instance method.
You can access all type members through "this", and, therefore, from a static method you can only access static member. Using static methods, in practice, is a must when you have methods unrelated to other members, such as some mathematical calculations only operating with parameters.
For some more detail, please see my past answers:
Type casting in c#,
C# windows base this key word related and its uses in the application,
What makes static methods accessible?.
Using a static method as some event handler is possible, but it is extremely unlikely to turn out useful. That explains the comment to the question by Matt T Heffron.
—SA