Разница между обычными и статическими методами та же, как и в других языках — статический метод принадлежит классу, а не объекту. Он может быть вызван без создания объекта, и, очевидно, его список аргументов не начинается со ссылки на объект (self).
Однако, явно называть свой класс из статического метода (для доступа к другим его статическим методам и переменным) может быть неудобно при рефакторинге, так что было бы неплохо иметь короткую ссылку на свой класс. И такая возможность есть: если заменить @staticmethod на @classmethod, первый аргумент будет ссылкой на класс. В остальном эти два декоратора означают одно и то же.