Добрый день,
Давайте начнем с того, что названия переменных значения не играют. Т.е. Вы можете поменять в коде местами $arSelect и $arFilter и результат от этого не изменится (если Вы все сделали правильно). Что касается их названий - они помогают лично Вам понять что в них находятся и работают по принципу венгерской нотации, с типами и camelCase. То есть в переменной $arFilter находится массив полей, по которому производится фильтрация, а в $arSelect - массив полей, который нужно получить.
Что касается документации - вранье, она обширная и разжевана до мелочей. Если Вы хотите получить план по развитию, то:
1) Пройдите всю цепочку битрикса от "Контент-менеджера" до "Администратора" (все 3) и поймите как это работает в админке
2) Пройдите курс Bitrix Framework и поймите как с этим работать с точки зрения разработчика
3) Активно читайте справочную литературу -
https://dev.1c-bitrix.ru/api_help/ и
https://dev.1c-bitrix.ru/api_d7/
4) Смотрите на официальные курсы по битриксу
https://academy.1c-bitrix.ru/training/course/
5) Сдавайте официальные экзамены (там примеры заданий и четкие решения)
https://academy.1c-bitrix.ru/certification/exams.php
Я Вас уверяю, при сдаче и первого и второго экзамена, Вы уже будете понимать все что нужно для уровня Junior-Middle