I believe that both are extremely useful in their own way, and have their own set of clear advantages over the other, which I will list here:
C: C allows you to pass by reference, and not by value. This means that the values stored themselves are not accessed and processed, but the location in memory where they are stored is. This is extremely useful in accessing data globally, and is not possible in most languages. This makes C very close to source, and extremely fast. It is also considered to have a steeper learning curve (IE it is considered difficult). Many of the best programmers in the world started off with C, and I highly recommend anyone that wishes to code do the same.
C++ is an object oriented programming language, which means it allows for objects to inherit the properties of their supersets, called classes. It has numerous other advantages over C, such as polymorphism, encapsulation, and abstraction. If you are interested, these are all very useful concepts you can read more about them here. C++ also has a great support for libraries and graphics, which give it an added edge over C. It is also considered to be easier to code in.
Hope this answered your doubts!
About you question, nobody can answer that which language is better. It all depends on the preferences!
C is procedure oriented, Hence less organized but easier.
C++ is partially object oriented, arranged .
Now it depends on what people prefer.
Usually people term C++ as a better language as it is a newer version and that that of C ,with more functionality.
With both the languages you can do anything you want.
I prefer C++ over C as it is newer and this is widely used nowadays. Or you could learn Java (best).
Thank you! 🙂