Avoid static methods because they allow, imply and/or encourage global private state access.
If the function/method does not require state, then do not use a static method. If the method does require state, then make sure that added complexity is worth it.
If that state access is not necessary, why put the method on the class? The answer is usually, "organizational clarity... keep things together that are related." While that is a good reason, there are other techniques that are more appropriate, and that do not allow, imply and/or encourage global private state access.
Code is safer and easier to read/write when it has limited abilities. For instance, we do not need to check a non-nullable value for null, because it lacks the ability to have a null value. Also, we do not need to check that a function manipulates private object state, because the function lacks the ability to do so. On the other hand, if we have a nullable variable, we need to check for null, and if we have a (static) method, we need to check whether it manipulates private (static) state.
You get the idea. Why allow, imply, or encourage a capability that the code is not using?