quello che so io è che per determinate cose il c può essere più veloce;
per esempio usare un array (int []) invece di un vector, su milioni di operazioni può dare qualche minima differenza di prestazioni.
lo stesso vale per cin e cout rispetto a scanf e printf.
inoltre non è detto che il c debba essere abbandonato perchè c'è il c++... io uso le classi però se devo usare un vettore metto un array e se lo devo allocare dinamicamente mi piace usare malloc e free piuttosto che new e delete...
così come se voglio scrivere su file preferisco la struttura FILE del c agli stream c++.

Infatti il bello del c++ è di supportare quasi interamente il c classico, che in alcuni casi può essere utile.