Кратко: разница в предназначении этих языков.
Язык C++ возник как расширение языка Си. А Си — низкоуровневый язык, понятия языка Си близки к понятиям уровня железа (например, активно используемые указатели). Си такой (относительно) сложный из-за требований к эффективной реализации и возможности писать близкий к железу код (ядра ОС, драйвера).
Язык C++, в силу своей философии, стремится быть заменой языка Си, в частности тоже быть эффективным и пригодным для низкоуровневых вещей (тех же драйверов). Поэтому понятия языка C++ тоже подразумевают эффективную компиляцию в машинный код и требуют этого понимания от программистов.
Python интерпретируемый язык, его быстродействие примерно в 100 раз ниже, чем у C++. Его целью было не эффективное использование машины и написание драйверов, а удобство программирования и написание корректных программ.
Необходимо дать пояснение про 100 раз. Речь здесь идёт о сравнении чистого кода на Python с тем же кодом на C++. Программа на Python может использовать библиотеки, написанные на C/C++, и, по большей части, состоять из вызовов функций этих библиотек. Например, если программа предназначена для проведения каких-то математических расчётов и использует numpy, то её быстродействие немногим будет отличаться от той же программы, написанной на C++, т.к. основное время будет выполняться не код на Python, а библиотечные функции, сами написанные на Си или C++.
Либо, если программа взаимодействует с сетью, а трафик небольшой, то она большую часть времени будет простаивать, ожидая сетевые пакеты. И тоже будет не важно, на чём она написана — на Си, ассемблере или Питоне, тоже заметной разницы в быстродействии не будет.
А что использовать?