Не должно быть никаких недостатков - может даже быть небольшое преимущество в производительности (хотя это не поддается измерению), поскольку можно избежать динамического поиска.
Хорошо помечать функции как функции, вместо того, чтобы они выглядели как Методы - (и статические функции «Методы» являются АРЕ, а не методами - это на самом деле по определению).
Как правило, статический метод - это неприятный запах кода OO - это, вероятно, означает, что ваша модель OO не полностью интегрирована. Это происходит постоянно с библиотеками, которые не могут знать о коде, который будет его использовать, но в интегрированном небиблиотечном коде статические методы должны быть проверены, чтобы оценить, с каким из его параметров он наиболее тесно связан - есть хороший вероятность того, что он должен быть членом этого класса.
Если статический метод просто принимает собственные значения, то, возможно, вам не хватает нескольких классов; Вы также должны продолжать передавать собственные переменные или библиотечные объекты (например, коллекции) - вместо этого они должны содержаться в классах с бизнес-логикой.
Полагаю, я хочу сказать, что, если это действительно проблема, вы можете пересмотреть свои методы моделирования - статика должна быть настолько редкой, что это даже не проблема.