LINQ или foreach?
1. Такая ситуация складывается от того что бизнесу обычно нужно чтобы было готово ещё вчера, и плевать ему какие костыли при этом будут в коде, в худшем случае он не подумает даже о сложности поддержки всего этого.
2. Программист, как мне кажется, это прежде всего инженер, а инженерный подход предусматривает создание оптимального, с точки зрения экономики, решения.
Вы предусматриваете создание оптимального с точки зрения разработки, поддержки и производительности решения. Оптимальным с экономической точки зрения для бизнеса чаще оказывается сделанный из костылей за неделю продукт, чем качественный за месяц.
Все эти "модные" фишки что вы описываете, как раз и существуют для увеличения скорости разработки. Да и деньги то нужны, внезапно, не только на железо.
https://habr.com/company/badoo/blog/430722/ - хорошая статья от badoo, с выводами на счёт целесообразности оптимизировать код / добавлять сервера
Естественный процесс, увы, никуда от этого не денешься....  
Так не только в программировании, так во всем. Вам же не нужно знать весь курс физики и электротехники что бы вкрутить лампочку... Вам не надо знать как работает  карбюратор/инжектор чтобы ездить на машине...
И опять же даже среди электриков есть те кто способен посчитать нагрузку на сеть, что-то там еще (ничего в этом не понимаю), а есть те которые могут провода в стенку "заштробить" и  розетки с автоматами поставить.  Но если бы таких не было, то вызов электрика "с образованием" обходился бы нам в круглую копейку.
Экономика блин.... ненавистное слово для перфекциониста :)
Не переживайте так! Удачи!