Amongst financial software, there indeed seems to be a preference for using Java. As mentioned in this thread before, one of the relevant arguments is indeed the competences of the developers/firms hired to do the job. At least in our neck of the woods that boils down to Java on WebSphere.
Security - which has also been mentioned - IMHO is not a relevant argument. Today, it is as hard to code a secure application and build up secure infrastructure on a *nix/java stack as it is on a windows/.net stack. How hard exactly, has much to do with developer and sysadmin experience. Honestly, -and I am a *nix/java guy- I have seen quiet a lot of plain insecure *nix/java based applications, just as I have seen people building a really secure windows/.net based application.
Choice of runtime environments is indeed a lot wider, and some runtime environments have the added benefit of being open source (which, in my experience, can speed up development targeted at these environments as wel as improve security planning and implementation)
Finally, I see two more historical reasons why financial institutions tend to favour the *nix/java stack.
Until the advent of Windows 2000 datacenter edition (and even after that to some extent), if you wanted big boxes (which financial institutions did), you'd have been tied to Unix machines. Buying such big boxes and putting them to use is rather large an investment. Obviously, once you've done that investment, you become a little more reluctant to change.
Next there is the reason of legacy systems (think for example the IBM mainframes), present at various financial institutions, for which the vendors have strong ties to the Java ecosystem (think IBM again).