Java REST binding is a client library for talking to the Neo4j Server, while Spring Data Neo4j is an OGM framework, meaning it lets you define domain entities as annotated Java classes, and have those entities stored/retrieved from Neo4j. Spring Data Neo4j will use the java REST binding to talk to Neo4j Server.
You would generally not use the Neo4j traversal framework for either one, it will be very slow when running remotely against the Neo4j REST API. The traversal framework is better suited to run as a Neo4j Server extension, where the whole traversal can run on the server side, and you can call it with an HTTP request.
In general, if you are building applications in the Spring framework, Spring Data Neo4j is a good choice. If you are building an application where you'd like to work with the Cypher query language, I would instead recommend using the Neo4j JDBC driver as it is significantly faster and leaner than the Java REST binding. It's also transactional.