Хуками в WordPress называются фильтры (filter) и события (action). В программной части это абсолютно одно и тоже, т.е. обрабатывается и то и другое одинаково, можно например заменять функции add_filter() и add_action() — все будет работать! Разделение нужно, потому что по смыслу это разные вещи…
Фильтры нужны, чтобы отфильтровать передаваемое значение, т.е. фильтр получает значение и обязательно должен его вернуть (изменённое или нет). А события — это события, они просто срабатывают в определенный момент и ничего не возвращают.
К хукам (фильтрам или событиям) прикрепляются PHP функции, затем эти функции сработают, в момент срабатывания хука. Такое поведение в программировании называется перехват.
В функцию прикрепленную к хуку могут передаваться дополнительные данные (параметры). На основе этих данных в функции можно создавать какую-либо логику — что-то проверять перед тем, как что-то сделать.