My question is this: What are some reasons I should use (if I can use) Java for a 3d rts/rpg based game?
Is it even possible? And if so what are the downsides to using Java for a 3D game?
* You'll be much more effective
in Java compared to C++. Not only because the language is much more clean and high level, but also because of an impressive built-in library which includes most things you're going to need ever.
* If you're using a client/server architecture for your game, you can deploy your server on any Java enabled platform (same applies to client, of course).
* If you want to use a commercial high-end 3d engine you're still lost with Java, because there's no established one. (Could change in future...)
Recently I've freelanced in a C++ project using Netimmerse, and while I don't think this famous but expensive engine is brillant, it's very solid and there's absolutely no such thing currently for Java AFAIK.
Well, if pure OpenGL does the job for you, you could use Java and one of its OpenGL bindings.
If a free OpenSource 3d engine like Xith does the job for you (I could imagine many projects) you could use it with Java.
So, in short: in case Java's 3d bindings and middlewares are sufficient for your task, use Java. Once you're inmid a large Java project you'll see soon that it's a modern and efficient way to develop, compared to an object orientated macro assembler called C++ (that's the reason so many C++ devs are keen to switch to M$ Dotnet, because it's a barefaced Java clone).