Its also a level of comfort thing. Some developers are just more comfortable knowing exactly what their programs are doing at every level, which C/C++ allows, while Java implements a small layer of abstraction above this from what I can recall (correct me if I’m wrong in this) (ok, ok, you could argue C/C++ abstracts assembly, which in turn abstracts something else all the way down to 1s and 0s, but we don’t need to go there do we?). On the same comfort thing, some developers are just trained in C/C++ so learning Java is kind of a moot point, since it would waste their time when they could be developing something else.
Cross platform development easier in Java? Yes, of course, the cross platform stuff is done for you intrinsically, but as long as you follow some standard coding practices and employ cross-platform libraries when writing code, C/C++ is not too much harder to develop cross-platform. Plus if you release open-source on a single platform and your code is good enough, somebody with the knowledge might come along and port it for you. ;):RocknRoll::yes:
I think the short answer to your question is: apathy.