Today, Java can hardly be beaten for large serverside projects, while C can hardly be beaten for... well any desktop project.
I disagree on both counts:
For server work: Scala on the JVM is substantially better than Java for the programmers that can pass the learning curve.
For desktop apps, I believe it's split:
Some apps seem best done in C: Text editor, music player, web browser, chat client. The OS-native GUI widgets and lack of runtime baggage of the VM is nice.
For my mega-IDES (IntelliJ and Eclipse) and tools like GePhi which I use for graph analysis, JVM seems to work better. My suspicion is the developer tools helps them manage and organize the complexity better.
A lot of the more complex C/C++ desktop apps I use seem to be a mess: OpenOffice/LibreOffice is one high profile example. I suspect that the team would have had better luck cleaning that up and improving it if it was in Java.
Games is another big category. It seems that C/C++ are successful at doing multi-platform iOS/Android/Console work, but for Linux/Mac/Win, C/C++ is just awful. I suspect that JVM is really untapped in it's potential for desktop games. I believe the dev tools are much better, you have to deal with way less hacks than C/C++, and the performance is close enough to C/C++. The downside to JVM for games is that it's mobile and console story is terrible. Even for Android, I'm skeptical that the Dalvik code path is performance competitive with the C/C++ NDK