Каким способом изучать API Битрикса?
Добрый день,
Давайте начнем с того, что названия переменных значения не играют. Т.е. Вы можете поменять в коде местами $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
Основные структурные единицы Битрикса - информационные блоки и их элементы.
От этого и отталкивайтесь. Много задач тупо сводится к получению списка элементов инфоблока с определенными значениями свойств, т е к написанию аналога sql запроса, только при помощи функций Битрикс.
CIBlockElement::GetIBlockByID и CIBlockElement::GetList на первое время покроют большую часть ваших потребностей.
Что касается массивов $ArResutlt, $ArItem, $ArFiles в шаблонах, то частенько выручает var_dump. По содержимому массива вполне можно понять, за что он отвечает.