Он мощный, но постоянно пытается убить тебя своими указателями, неопределенным поведением и бесконечными способами сделать одно и то же через разные костыли. Плюс, каждый раз, когда ты думаешь, что разобрался, выходит новый стандарт и добавляет еще пару сотен функций, чтобы тебя окончательно добить.
Ненавидят языки только неучи, ошибочно считающие себя программистами.
Язык программирования - лишь вспомогательный инструмент для решения определённого круга задач. И бессмысленно ненавидеть рубанок только за то, что он рубанок.
С++ - очень сложный в использовании инструмент. Профессионалам, имеющим многолетний опыт, он позволяет получать на выходе компилятора высокопроизводительный машинный код (чуть медленнее C-кода и чуть быстрее кода на других модных языках). Но для новичка С++ превращается в пулемёт для стрельбы по собственным ногам.
Если для данной задачи ускорение выполнения скомпилированного кода на 5% является критически важным, имеет смысл использовать C++. В противном случае эффективнее взять более простой инструмент, использование которого потребует намного меньше времени и сил.
Думаю дело в том, что этот язык довольно сложный и очень легко выстрелить себе в ногу. А никто не любит стрелять себе в ноги, кроме того, несмотря на всю его сложность зарплаты на нем ниже, чем скажем на том же python, который намного проще.