C and C++ are seperate languages. If C++ was a true superset of C then everything that C can do C++ should be able to do. This is not the case. C++ was created to be very close to C but still be it's own language.

C++ is not always better then C. An example would be writing a robotic controller with a limited about of memory for code and variables. In that case C++ would be a bad choice compared to C.

Programming is all about knowing what tool to use when and where.