C++ - Why are pointers used so much?

They are both correct. However, using nullptr is better because it cannot be assigned to a non-pointer type. For instance:

int32 Foo = NULL; <--- Compiles fine but is not "correct"
int32 Foo1 = nullptr; <--- Compile error