Потому, что это даже не "очень большой", а гигантский язык, в котором почти одно и то же можно сделать десятком разных способов. И для написания качественного кода необходимо знать особенности каждого из этих способов.
А еще, C++ - мешанина из высокоуровневых и предельно низкоуровневых возможностей. И чтобы не стрелять из пулемёта по собственным ногам, необходимо очень хорошо понимать особенности низкоуровневых механизмов.