Search Model это модель, которая работает с фильтрацией данных, сортировкой и выводит это все через DataProvider.
Модель изначально делает слишком много, поэтому будет лучше если вы используете свою форму фильтрации и выкиньте от туда все лишнее. Модель фильтрации не должна наследоваться от сущности и работать напрямую с базой.
Метод all() не рекомендуется использовать для больших данных. Скрипт может зависнуть.
В модели так же удобно делать списки для выпадающих списков формы.
Если говорить кратко, то SearchModel это форма, в которую вы передаёте данные и фильтруете по ним. Но так как это не только форма, то её называют модель. А вообще её можно назвать и Filter.
Обойтись без неё можно и нужно, если знаете как. Это все сделано для быстрой RAD разработки.