По большому счёту различий на глобальном уровне нет, это чисто вопрос субъективных предпочтений каждого.
Лично для меня вообще есть Си, есть Си++, есть асм, питон для тулзов и AI, и есть "все остальные языки, которые просто про запас".
От плюсов синтаксисом отличается шарп, менджедовостью, управлением памятью и много чем ещё, рефлекшены-фигекшены там.
Сейчас, правда, новые стандарты плюсов уже настолько долбанутые, что скоро сам си++ станет похожим на си-шарп, а не наоборот... Настолько всё в новых стандартах нихрена непонятно (в плане того, как именно это реализовано будет на конкретных платформах), что по своей сути Си++ превращается постепенно в шарп...
Хотя, мета-программирование в принципе в плюсах есть уже много лет - тот же самый Qt это позволяет, и многие большие конторы на нём сидеть (Каспер наш например), но для меня это всё - боль, уныние и не по христиански. Плавали, и не один год - потому знаем )))
Мне ближе олдскулл, когда ты пишешь код и точно знаешь как он будет работать - на уровне работы с памятью, с шиной, с процессором, с кэшами и т.д.
А не так, что накорябал три строчки говно-кода, и они складывают 2 и 2 в течение 5 часов, потребляя 19 Гб оперативки и на 100% загружая не только проц и свежую печ3060, но и пол дня гоняя в хвост и в гриву и твой совершенно новенький террабайтный ССД )))