There is a school of thought according to which statics are harmful and should be avoided, because they create binds between classes which are too rigid. E.g. if you have classes A and B which call each other's methods, and then subclass AA and BB from them, and expect AA to invoke the code of BB, that will work nicely if they only know about each other as instances, but it will fail for static calls which will still point to A/B.
At any rate, PHP's implementation of statics is quite bad. There is no late static binding before 5.3 (meaning that an object can't call its own static methods, making static functions farily useless in an OOP architecture), static functions cannot be called non-statically in strict mode, calling functions the wrong way will result in very weird errors, classes share their static variables with their parents... when uncertain, you should go with non-static IMHO.