C++ has a lot of features (large surface area) and power. This power is the result of powerful language constructs like inheritance, operator overloading, templates, etc. This can make it very powerful and concise for writing code. When power is hidden, it makes it very difficult to read.
C just has data structures and functions (small surface area). Its simplicity makes it much easier to read.
Some languages prioritize adding features and power. C++, Rust, and Swift are examples.
Other languages prioritize minimizing the surface area. C, Go and Scheme are examples.
Programmers either value minimal surface area (better for reading) or maximal features and power (better for writing) and are more likely to adopt languages based on this classification.
For example, C programmers are more likely to adopt Go over C++ and Rust. And, C++ programmers are more likely to adopt Rust.