There is a difference between declaring a static method with both client and server keywords and without any:
public static client server void method1()
public static void method2()
If a method is declared without these keywords the tier to execute the method will be determined based on RunOn property of the class. So if a class has RunOn property equals to "Client", then method2() will always be called on the client tier but method1() will be called on the tier where it was called from.
Considering that it is a best practice to explicitly mark methods with both client and server keywords if it is designed to be executed on both tiers.