Moim zdaniem problemem c++ jest właśnie to, że nie jest on rozbudowany, a nie że jest. C# jest bardzo rozbudowany a jest prościutki. Wiele rzeczy które są w C#/Javie wbudowane w język i są wspierane przez twórców języka w c++ nie istnieją, albo są na dużo niższym poziomie, przez co trzeba napisać 3x więcej kodu by coś zrobić, który w dodatku będzie cięższy w zrozumieniu i utrzymaniu. Do tego ma dużo mniej wygodnych bibliotek.
C++ nie jest jakiś strasznie skomplikowany, jest w paru miejscach niepotrzebnie zagmatwany, ale nie sprawia to że jest on skomplikowany. Skomplikowane jest natomiast tworzenie w nim programów, np. gdy porównamy sobie do robienia takiego samego programu np. w pythonie. W dodatku jak natrafisz na jakiś błąd w c++ to powodzenia w debugowaniu, bo cuda potrafią się w tam dziać, np. wywołujesz jedną funkcję, a uruchamia się inna (takie coś może nastąpić gdy w którymś miejscu programu wyjdziesz poza tablicę). Już pomijam jakie cyrki potrafią się dziać w c++ z wielowątkowością, zdecydowanie nie polecam w nim robić dużych projektów, natomiast do np. algorytmów nadaje się idealnie.