A divide and conquer algorithm solves a problem by breaking it down into smaller subproblems, solving each subproblem independently, and then combining the solutions to obtain the final result. It often involves recursion and is useful for solving complex problems efficiently.