Maybe it's more usefull to talk about a 'slant'? Like, you can totaly do desktop apps with custom GUI components in Java but those tends to be written in C++ for some reason.
Like java, python, c# 'slants' towards web services and maaybe CRUD apps, C++ 'slants' towards games and graphicly complex apps.
I have no personal experience, but I've heard OCaml is particularly excellent for writing compilers.
Like, what's java's niche? I'd say it doesn't really have one anymore, it's just a generalist language. Ocaml is also a generalist language, but it has much better language paradigms, is safer, more concise, has more features with less baggage, etc. It's just good all around.
As a functional programming advocate, I'd point to safety, readability, and development velocity as features, but those are all around good and desirable, not really a niche.
I wish more companies were using languages like ocaml/f#/clojure vs c++/python/java when there is no specific reason to use the former.