Different tools for different jobs, that's all. Use a hammer when you want to hit something. Use a screwdriver for when you want to screw something. Use C when you need something for which C is the most appropriate tool, and use Java for when Java is the most appropriate tool.
The question then becomes "how do you determine which is the most appropriate language for a given task" which is much more complicated and depends on many things: availability of compilers, availability of skills, performance requirements, portability requirements and so on. For example it's all very well deciding that Smalltalk is the most suitable language for a given task, but if nobody you've got knows it and everyone available only knows C, then rather than train everyone up on Smalltalk and effectively reduce them all to beginners then it may be a more prudent choice to pick C.