Hi Matthew,
I would say that it really depends what you are trying to achieve.
The point of using Activiti REST API is making your BPM engine interoperable.
Since REST leverages the HTTP protocol and its methods and resources you can start processes in Activiti from any other applications.
You can also build a mobile app or a custom UI interface and have your logic handled by Activiti.
I don't see any advantage of using the Java API unless you want to embed Activiti into a Java application.
That's just a thought.
I hope I helped.
Jorge