Hi Abhi,
Both are perfectly good ways to interact with MongoDB. If you're already using Spring in your application, it makes sense to try out Spring data, it's a project that's being actively supported by the Spring guys and is used by a large number of projects. Alternatively, if you want lower-level control of your interaction with the database, you can use the Java driver directly, but you'll have to manually convert the data that comes back from MongoDB into your own application objects (whereas Spring data does a lot of this magically for you).
It's worth pointing out that Spring data uses the MongoDB Java Driver under the covers, and if you need to get to the lower-level driver you can get to it via Spring, so you can use both (if you need to).
As for performance, this really does depend - on your application, your data, your usage, your configuration. The best thing to do here is to write some performance tests that reproduce the behaviour you'd expect to see in "real life" (e.g. data structure, usage like number of reads vs number of writes) and compare the two approaches against your non-functional requirements. Remember that the fastest is not necessarily the best - if both meet your speed requirements, you might pick the slower solution if it gives you something else (e.g. less development time required)
Hope that helps,
Trisha