This is a basic C++ question and is not really related to SFML.
If you don't know when to use what, you might play around a bit longer with pure C++ and keep reading a
good C++ book, before starting to work more with SFML.
The first is a local variable created on the stack. The second is by itself just a pointer. The pointer can point to a variable on the stack as well as one on the heap.
You should work on the stack as much as possible and only create objects on the heap if they need to be dynamically created.
However if you do create a dynamic object, you should make sure to use RAII and smart pointers and not work with new/delete, that's "old" C++ and is hard to use properly. See also
"Why RAII rocks".