A simple (absolutism) answer would be never use static variables when passing parameters can be used. The scope of the parameter will be smaller, which could lead to memory savings. Using static variables will lead to unsafe data escaping. and what happens when you need multiple instances of the same class? Or when you use the same static method from multiple threads? Disaster!
Sometimes static variables have their uses (usually as private). When they are final (i.e. used as 'Constants' rather than variables) then they get a bit safer. But
you should never consider them a substitute for parameter passing.