Как подходить к организации кода для сайта?
Как подходить к организации кода для сайта?
В зависимости от задач, бюджета, времени и желания заказчика.

Мне непонятно, как в зависимости от типа сайта, мы подбираем технологию для организации кода. Как понять, какая технология и для какого сайта уместна. И вообще, какие технологии существуют?
Если у Вас продающий лендинг(без логики и приходящих данных с сервера), то нет смысла пихать туда заумные паттерны проектирования - сойдет обычная статика, либо сайт посаженный на CMS(систему управления сайтом), если у Вас крупный интернет магазин, с огромным колличеством логики, огромными приходящими с сервака данными - вы используете инструменты которые созданы под эту задачу(CMS или фрейморки).

В сети нет нормальной статьи/видео по этой теме. Чуть ниже, я напишу просто список непонятных слов, фраз, которые многих вгоняют в ступор.
В сети есть всё, просто Вы, научившись кататься на велосипеде, пытаетесь сесть на ламборджини, и спрашиваете "а какого хрена тут так много элементов управления, я на велосипеде сидел, и там только педали видел". Всё приходит с опытом разработки. Прыгать с корабля на бал не нужно.

"подходы разделение кода, шаблонизация, модули, МVC, state, организация кода, биндинг, реактивное программирование, SPA, MPA, Virtual DOM, Нода, Веб-компоненты, Templates, Custom Elements API.” … Что и откуда выходит? Есть ли какие-то блок схемы, на которых это можно увидеть... книги? Можно ли это всё описать одни словом - Паттерны?"
У большинства людей вытекут глаза, и из ушей кровь пойдет. Все эти непонятные слова гуглятся, и объясняются очень простым языком.

В идеале, если у вас это конечно есть, отлично подошла бы блок-схема, как наглядная демонстрация, что и откуда берётся. Имея такую блок схему, можно было бы с большей лёгкостью двигаться по ней, выучивая каждый блок по отдельности, но уже понимая, куда нужно двигаться и зачем 
Да, такая блок схема есть. В зависимости от выбранного Вами языка - она называется RoadMap. К примеру вы выбрали себе язык Java или PHP - ваш путь на Java Developer Roadmap или Php developer roadmap.
Полагаю, вы должны задать себе несколько вопросов на определённую тему. 

Как пользователь будет работать с сайтом? Предполагается больше мобильных устройств? Или десктопных? Пользователь попадет на одну страницу? Или предполагается несколько последовательных страниц? Все страницы однотипны? Или каждая и выглядит и работают по разному? Какой контент должен размещаться? Предполагается ли что пользователь будет периодически возвращаться на эти страницы? Нужен ли доступ offline?

Отвечайте на эти вопросы. А дальше думайте о том, как добиться наилучшей производительности в описанном сценарии. Например, если предполагается Сайт визитка. В этом случае, у вас есть одна или несколько практически идентичных страниц. Весь контент статический. Вероятно пользователи будут часто возвращаться на этот сайт. 


Так как у нас одна или несколько практически идентичных страниц, логично собрать весь функционал (скрипты, стили) для всего в один файл. Вместо того, чтобы создавать отдельные файлы для каждой страницы.
Так как весь контент статический, нет нужны в каких либо CMS или серверной генерации. Весь сайт можно скомпилировать в готовые html файлы которые будут максимально быстро отдаваться клиенту.
Так как предполагается, что пользователи будут время от времени возвращаться на ваш сайт, нужно настроить кэширование файлов. 
Так как на сайте предполагается размещение контактов, важно предоставить возможность доступа к сайту offline.


Кто будет работать, что умеет? Сюда я отношу всё что связано с задачей и тем кто будет её выполнять. Если ли ограничения по времени на реализацию? Какой бюджет на разработку? Какие люди есть в команде? Что они умеют? Есть ли в команде люди, умеющие, работавшие ранее с какой-то технологией, которую вы определили ранее? Сколько времени понадобится чтобы разработчик изучил эту технологию с нуля? Целесообразно ли это? Если ли альтернативы из того, что люди в вашей команде уже умеют? Кто будет заниматься поддержкой этого сайта? Поддержку какого рода вы будете предоставлять? Насколько вы хотите продолжать работать с этим клиентом?

Так вы сможете определить технологии которые будут использоваться для разработки. И отталкиваясь от этого определить архитектуру.