It is hard because biologists want to be on the cutting bleeding edge. That also means biologists are willing to take the pain of learning about computer programming languages and tools that are more than
point-and-click ones. In return (for long run) they save time, and understand deeply how the tools work. With that said, I think big C++-based tools are likely written by bioinformaticians who originate from computer science background. They choose the language because C++
historically came to offer additional features on top of the fastest
C language (ignore
assembly for now).
C++ offers object oriented programming approach so when the software get more complicate it is easier to manage, just like Java. However, C++ is still more lightweight than Java, and because it closer to C, it tend to be faster.
You mention distributed system, it is where java still shines over C++ (AFAIK), especially via
Scala language where Java is reduced to be the JVM. C++ was not developed for distributed purpose. There is a newer language, also very close to C, which is
D (surprise name!). I think it will be a good choice for anyone want to invest for learning a new language. It has cleanliness of a modern language, speed of C/assembly, support concurrency, and whole lot of other buzz words. I imagine D will beat C++ and Java away if it get into the big hands. Last time I heard, Facebook and Google is already taking up D. So the time will come.
Bottom line, C++ is still here for speed, legacy code which exists in many areas outside of bioinformatics, and legacy (retention) of education.
Just my quick (maybe biased, and unchecked) opinion.