Perché è un linguaggio complesso, richiede una determinata forma mentale e un livello di esperienza notevole per essere usato senza fare danni. Inoltre è molto meno produttivo (*) di altri linguaggi e non supporta il paradigma ad oggetti (non è necessariamente un male, ma rischi di non imparare cose che potrebbero tornarti utili per imparare cose che dovrai dimenticare quando cambierai approccio alla programmazione). In parole povere il linguaggio C è come un bisturi, indispensabile in alcuni casi ma difficile da maneggiare (e pericoloso) per chi è privo di una formazione specifica.
Ci sono linguaggi più semplici&produttivi: Java, C#, Delphi e Python. Poi sei liberissimo di sbattere la testa con il C, ma se tra un anno sarai ancora lì a combattere con buffer overflow, endianess e gestione manuale della memoria non dire di non essere stato avvisato per tempo. Inoltre per implementare un programma dotato di interfaccia grafica in C è necessario un impegno non indifferente.
(*) Per produttivo intendo in grado di ridurre i tempi di sviluppo, il numero di righe di codice necessarie e dunque gli inevitabili bug.