Depth First Search (DFS) explores a graph by starting at a node and going as deep as possible along each path before backtracking. It uses a stack to keep track of the path. DFS is useful for tasks like finding connected components and solving puzzles where exploring all paths is necessary.