Можно ли так делать в коде?
$update - это аргумент, который может принимать данный метод, но внутри метода никак не используется. Может, осталось с прошлых версий, может, задел на будущее)) Плагины такие же люди пишут, и допускают такие же ошибки.
Функция принимает 3 аргумента согласно некоторому API, т.е. некоторой договоренности о вызове и передачи аргументов между разными частями программы. Эти части писали разные люди, либо один человек в разных состояниях души. Вызывающая часть обязана прислать $update, а принимающая часть (то есть содержимое функции) - может его использовать, а может и не использовать. Когда проектировали интерфейс (т.е. API), то надеялись, что $update пригодится. Но в итоге никто не заставляет его использовать, если он не нужен. Ошибка ли это, сказать сложно. Для этого нужно оценить нужность этой переменной со всех сторон. Например, в другом проекте с той же самой вызывающей частью, но с несколько иной принимающей частью, эта переменная может понадобиться.