В чем заключается web-программирование?
сидят целыми днями за документацией , надеются на магию
о какой магии речь? Я вот как-то ее не использую. Все больше php и методы framework-аОбязательно ли помнить все функции движков
Я так понимаю речь о методах framework-а? Тогда конечно нет. Все запомнить невозможно и документация (api) постоянно под рукой как справочник. 
https://laravel.com/api/5.5/Illuminate/Pagination/...
В плане навигации по классам, мне конечно yii2 больше нравится
www.yiiframework.com/doc-2.0/yii-data-pagination.html
Но знать, что для тои или иной "магии" есть метод - надо. Как и с функциями php. Как и с любым другим программным продуктом. Иначе как Вы будете использовать метод, если даже не знаете о его существовании? Так что прочитать документацию несколько раз надо. Не так уж ее и много.Просто иногда получается, что сидишь несколько дней по 6 часов, пытаясь исправить баг, а в итоге он сам куда-то пропадает 
Так не бывает. Магии не существует. У всего есть причина. Если Вы ее не видите, не значит, что ее нет. 6 часов - это печально и явный признак, что Вы не умеете дебажить код. Есть куча инструментов для этого, как в php так и в том же laravel. Ну и вывод всех ошибок надо включить, что бы сократить 6 часов до 15 минут.Обязательно ли помнить, что значат все эти методы и т.п. или же можно читать о них в случае необходимости
Повторюсь, надо помнить, что они есть. Надо знать где посмотреть. Можно не помнить синтаксиса или что там куда передается и что возвращается, но если не знать о их существовании совсем - то пользоваться ими не получится.В чем заключается web-программирование?
В оперировании языком программирования и сопутствующими инструментами с прицелом на web.
Вот более адекватное определение: https://ru.wikipedia.org/wiki/Веб-программирование
В чем вообще заключается любое программирование? В понимании логики и алгоритмов. Можно ли написать программу, зная логику и алгоритм ее работы, но не знаю ЯП - нет. Можно ли написать програму, зная ЯП, но не зная ее логики? Да, но она не будет работать как надо. Поэтому необязательно заучивать все наизусть. Необходимо понимать основные логику как это работает и знать базовые принципы языка на котором пишешь.