First consider that robot navigation is usually broken up into two tasks, the first being "find the path from point A to point B", the second being "find the velocity commands that I need to send to my wheels". These tasks can more formally be broken down into the global and local planning problem respectively.
Global Planning:
Is the job of finding a connected line from the start to the goal across a map. For the most simple implementations this will not account for dynamics or other constraints. It is simply a graph search across a grid of cells (aka a "costmap") that trys to find a path from start to finish. Now you can apply some special algorithms to this to optimize it or incorporate constraints, but you do not have to.
This is the problem that A* is often used to solve.
Local Planning:
Is the job of finding what velocity command to send the wheels given a "local" goal. The local goal in this context is usually some point on the global plan that will follow the global plan as it takes us from the start to the finish. Local planning will usually account for live/active sensor readings, and it the algorithm most responsible for obstacle avoidance, and the behaviors you witness as a human observer. It will try to follow the global plan its given, but there are rarely guarantees about that.
This is the problem that DWA and trajectory rollout solve.
END:
ROS breaks its navigation planning into these two different domains, and as you read through the navigation tutorials I am sure you will quickly notice the distinction made between the global and local planners. I hope I was able to answer your question!
Cheers
EDIT:
Also see this answer