C++ - Why are pointers used so much?

So let me get this straight, for the arguments pointers are used because it would allow them to be null, and the return value is pointer because the original should be used and not a copy?