Pointers are a fundamental concept in computer programs. Since you didn't ask what pointers are or are good for, I won't try to give a good explanation of that. You can certainly Google or refer to a good text for that topic.
However, specifically regarding C++ references and pointers, sure both can serve the same purpose, with slightly different syntax. Pointers and the notation were taken from C, whereas references were a new feature in C++.
In The C++ Programming Language, Bjarne Stroustrup, the language's creator, discourages using references as modifyable arguments because such functions can be more subtle/confusing (sections 5.5 and 7.2). Using pointers to modify function arguments is explicit and clear in comparison. He advises that reference parameters to functions should be declared const so that such objects are not mistakenly modified in the calling context.
I'm not a C++ developer so I don't know what standard practice is, but I think the reasoning here is solid: using references for modifyable function arguments results in subtler code and more potential for error.