Короче, на C# можно почти всё, но в основном под windows. Как язык он более продвинутый да и мозги меньше твои будет иметь. C++ имеет преимущества: выполняется быстрее, так как компилируется в машинный код, а не выполняется на специальной платформе, как C#. Ещё он более кросс-платформенный. Из минусов: будет иметь твой мозг часто и густо.
Смотря для чего. Что лучше - лопата или кирка? На C# пишется быстрее и проще, но его возможности более ограничены, а программа на нем выполняется медленнее, чем написанная на C++.