У этих языков разные ниши.
Python прекрасен если нужно собрать что-то быстрое на коленке (для стартапа или автоматизации какой-нибудь задачи)
Но, если вы создаете большой корпаративный софт, то тут нужен язык с статической типизацией, так как для крупных проектов с ним в разы проще работать (прим. Java, C#)
Если же вам нужно "выжить все соки из вашего железа", то С++ ваш лучший друг.
Вообще термина "сложный язык" не существует, есть лишь инструмент который подходит или нет, для определнной задачи .
С++ это профессиональный инструмент, который будет жить и развиваться в рамках своей области применения и поуа ничто его заменить не может)
Да, все так и с моей точки зрения
Язык программирования (ЯП) нужно выбирать исходя из задач. Не стоит использовать один ЯП - как универсальное решение всех проблем. В каждой предметной области есть свои тонкости.