Inpassor, не иногда, а в подовляющем количестве случаев. ковыряние различных движков и фреймворков, конечно даёт какой-никакой опыт, только он мягко говоря незначительный. самое первое и глобальное, на что нарываются большинство начинающих движкостроителей - это архитектура. продумали кое-как, что-то там написали, а потом при попытках добавить фенечек к своей "пробе пера", начинается - то одно сложно или нельзя нормально реализовать, то другое, то третье. от четвёртого вообще нагрузка на сервер зашкаливает. и начинаются костыли, сначала маленькие, потом всё больше и печальней. с сайтами давно не возился, а софт достаточно часто ковыряю. как пример, к чему приводит непродуманная архитектура и постоянное желание прикрутить ещё чего - это когда люди исчерпав почти все возможности приделывать костыли, для реализации каких-то фенечек просто начинают тупо копипастить проект, чикают всё ненужное, допиливают оставшееся и потом или через одно место скрещивают это нечто с основной частью проекта или вообще делают отдельной софтиной. на таком уровне костылей проект мягко говоря уже не жилец. с первой попытки сделать конфетку больше похоже на фантазии.
кроме знания пыха (или чего другого, вариантов сейчас мягко говоря немало), хтмл, яваскрипта, всяко-разных аяксов, ещё нужно очень неплохо уметь с базами работать.
чудил-недоучек хватает. в этом году знакомый показывал один чудный сайт на джумле, который его попросили "немного" допилить. ну вот он как увидел, что на одну страницу там более тысячи запросов к базе идёт, так сразу с отвисшей челюстью и понял, что проще всё заново сделать. как? да легко! нужно что-то из базы, сделал запрос, частенько выгребая полностью таблицу и потом в цикле выбирая нужное, потом на основе этого опять что-то ищет, потом на основе этого ещё что-то и т.д. +походу частенько не храня промежуточные данные, а перезапрашивая данные в одни и те жи переменные снова и снова. в итоге как для движка сайта получается жуткий бред, который даже для обычных программ при работе с большим кол-вом данных далеко не всегда можно назвать адекватным. понятно, что это крайние слачаи и что ни одно готовое решение не спасёт от таких издевательств над железом, только с готовым решением шансы получить более-менее нормальный результат и более быстро всё же выше.
и через все части движка сквознячком ещё идёт безопастность. даже, если все остальные вещи сделаны более-менее неплохо, в плане безопастности крайне легко понаделать кучу дыр. грубые ошибки делают даже очень опытные программисты, начинающий одиночка с большой вероятностью дыр понаделает просто как в решете. уповать на то, что код закрытый? дануне, имхо очень сомнительный вариант. к этому всему ещё нужно хотя бы слышать про сео, оптимизацию/кеширование на различных уровнях и прочее, прочее, прочее.
ну это всё в общем бла-бла-бла, а вы прочитайте посты spike`ка. человек писал, что даже с пыхом незнаком, про остальное вообще непонятно. а для создания движка сайта нужно много опыта и знаний по различным направлениям, очень много. вот сколько по вашему нужно времени, что бы придумать и реализовать функционал тем оформления? а сколько уйдёт на редактор сообщений, загрузку картинок и прочих файлов + всякий вспомогательный функционал, например автоматическое создание превью или автоудаление файлов с сервера (при удалении сообщений или закрытии страницы во время редактирования)?
даже, если бы всё нужное у человека было, сколько на это всё нужно человеко-часов? проектирование, написание, вылавливание глюков и дыр, допиливание, и т.д. по кругу.
в общем повторю своё мнение - идея с написанием с нуля в большинстве случаев очень плохая затея, тем более для одиночки. исключениеможет быть только, если движок очень мелкий и простенький. так что имхо без вагонища опыта/знаний и крайней необходимости лучше брать за основу готовые движки или фреймворки. yii, codeigniter или ещё что это уже другой вопрос, выбор более чем приличный.
п.с. прям всё и с нуля? очень похоже, что вы либо мега супер-пупер кул чел/команда с космическими ценниками на проекты, либо разрабатываете очень простенькие сайтики, либо на самом деле разрабатываете не с нулся, а у вас просто от проекта к проекту качует знанительное кол-во кода (на создание которого до этого ушло куча времени).
других вариантов объяснения в голову не приходит.