Потому что нет единого "программирования". Даже если мы спустимся на самый низкий уровень абстракции, в машинные коды, для каждой архитектуры процессора набор инструкций свой, by design. Разные процессоры обладают разными требованиями и областями применения.
У 2D цифровых художников же нет "единой системы рисования". Если надо сделать что-то бесконечно масштабируемое и без требований к сложным переходам цветов, берут векторную рисовалку. Если нужна иллюстрация в реалистичном стиле, берут фотошоп или его клоны. Для диаграмм есть специальные инструменты, для чертежей другие.
Ни в какой профессии нет "универсального инструмента", наоборот, всё стремится к специализации. Есть такой молоточек, есть другой молоточек, есть такой набор отвёрток для автомобилистов, а есть другой набор - для сисадминов.
Разработчики программного обеспечения не занимаются абстрактным сферическим "программированием" в вакууме. Они автоматизируют конкретные задачи из реального мира. Под задачу выбирается и инструмент. Под задачу инструмент и проектируется.
Unreal Engine не поможет мне собрать веб-приложение на MERN стэке. Но он и не для этого разрабатывался, не для таких, как я.