Упрощенно С++ объектно-ориентированное надмножество C. Хотя в нем есть и еще некоторый дополнительный функционал, но по сравнению с ООП это уже вторично. Объектно-ориентированное программирование если совсем кратко - способ организовать сложный код в больших системах. Сделать так чтобы он был обозримым, поддерживаемым, расширяемым и повторно используемым. Разработчики в нем не погрязли. Т.е. вы можете вообще не понимать что такое объектно-ориентированное программирование. Писать программы в процедурном стиле. И они будут компилироваться C++, но при этом фактически вы будете писать программы на C. Или другими словами, изучая C++ вы волей-неволей сначала изучите C. На этом можно остановиться и так на C и писать. Например C без плюсов применяется в программировании контроллеров. Поскольку сам компилятор C намного проще чем C++. И соответственно для контроллеров часто разрабатывают только его.
С/C++ это компилируемые языки. Т.е. программа на них один раз преобразуется в машинный код специальным инструментом - компилятором. А на компе пользователя процессор выполняет уже знакомые ему на аппаратном уровне команды непосредственно. А не некую промежуточную программу-интерпретатор, которая в свою очередь выполняет написанную например на Питоне программу. Такой способ выполнения крайне эффективен. Поэтому C и C++ широко используются в применениях, для которых критична производительность. Зачастую C это последний шаг перед тем, чтобы писать программу вообще на ассемблере. Что уже более трудоемко причем на порядок если вообще не на два. Кроме того ассемблеры разные у разных процессоров и программа на них получается по определению не кроссплатформенной. А вот программу на C/C++ теоретически можно откомпилировать для разных процессоров. Если только она не обращается к специфичной аппаратуре напрямую, такая возможность в C есть.
Python это очень простой в изучении язык. Очень комфортен для новичка. А профессионалу позволяет писать красивый лаконичный код. Как и С++ Питон объектно-ориентированный язык. Также объектно-ориентированные его возможности можно не использовать, писать код только в процедурном стиле. В отличие от C/C++ с нестрогой типизацией. Что упрощает вхождение, но в больших системах несколько повышает вероятность ошибок определенного рода. Но благодаря отсутсвию прямой работы с памятью в итоге он способствует ошибкам не больше чем C++. Это интерпретатор поэтому при прочих равных код на нем выполняется гораздо менее эффективно, чем на C++. Для очень многих это единственный известный им язык программирования. Поэтому делают на нем что угодно. В профессиональной разработке применяется для одноразовых расчетов и утилит. Когда надо получить результат а программу потом можно выбросить. Особо часто это нужно в Data Science и всякой прочей аналитике. Также для автоматизации например всяческих чат-ботов и опять же утилит. Набирающий популярность язык для Веб-бэкэнда. Применяется как встроенный скриптовый язык в больших системах.