Streams are used to represent different kinds of data flow in C++. There are input streams like ifstream that allow reading from files and output streams like ofstream that allow writing to files. Each file stream has get and put pointers that indicate the current position for reading and writing. Functions like seekg(), tellg(), seekp(), and tellp() can be used to set and retrieve the position of these pointers to allow reading from or writing to arbitrary locations in a file.