C is a small, minimal language and hence it is quite easy to learn and keep everything in your head unlike a lot of modern languages which are too baroque and confusing. There is not much of "magic" in the language and thus "what-you- see-is-what-you-get".
C is considered as "high-level assembly" and thus is the closest to the machine underneath. You will be forced to learn how computers actually work rather than treating it as a blackbox. Language Abstractions have well-defined limits.
C is available everywhere, from very small embedded systems to large desktops/clusters/GPUs etc. This allows one to program literally anything. I personally have programmed Windows Desktop Apps, Network Protocols/Appliances and MCUs all in C. I had to only focus on learning the Problem Domain rather than the Language/Libraries/Tools which made the job much easier.
C is the de-facto language for Systems programming. Thus one can avail of opportunities throughout the software spectrum both Systems and Applications. You can study and understand how "everything" works from Hardware all the way to Application Software.
C is also the de-facto "glue" language i.e. every other language/system/tool gives you a way to link to a C module. This gives one the ability to extend the capabilities of one's chosen language/system/tool as needed. This is often quite useful in the real world.
PS: To really understand how all the above come together through C, see the book; "Computer Systems: A Programmer's Perspective" (3rd edition:64-bit, 2nd edition:32+64-bit and 1st edition:32-bit).