Before talking about user flows, it's important to cover flowcharts.
As defined by the Oxford Dictionary, a flowchart is “a diagram of the sequence of actions of people or things involved in a system or activity.” It shows how things work together in a sequence, what decisions happen along the way, and the outcomes.
Here is a flowchart for a robot vacuum cleaner. It shows all of the states the vacuum goes through and the decision points along the way until the vacuum finally turns itself off.
User flows are a type of flowchart that keep the user at the center of the flow. They focus on flow above all else, which means you can create the information architecture that follows user expectations.
User flows can be created like the robot vacuum cleaner flowchart. They can also be created using wireframes or higher fidelity mockups to show how each screen connects with the others and the decisions a user would make to accomplish a task.
They're a quick and easy way to show a holistic view of the user experience. They illustrate how things work in a sequence, ending with the achievement of the user’s goal. You can create user flows to document an existing product or to design something from scratch.
User flows are helpful to get the entire team on the same page so that anyone who looks at your work can understand how each page and interaction fits together.
There’s a lot of confusion out there about the terminology of user flow and what that truly means. There are a few different terms that people throw around such as wireflows, task flows, screen flows, UI flows, the list goes on. Don’t worry about the semantics. What matters is the technique and how valuable it is to you and your process.