What is the point of pointers in C++ when I can just declare variables? When is it appropriate to use them?
Apart from efficiency and flexibility.The main point of pointers in C/C++ is that is how the hardware works, you could not wite a device driver, memory manager or efficient cache without using pointers somewhere along the line.
One of the main design goals for the first C compiler was to be a "portable assembly language" and to be able to do in a higher level language anything you could do with traditional assembly/machine code. This means being able to manipulate addresses directly - which is the point of pointers.
However following the KISS principle dont use pointers unless they really are making things simpler.