The document reviews concepts related to NP-completeness, including reductions between problems. It provides examples of reducing the directed Hamiltonian cycle problem to the undirected version. It also reduces 3-SAT to the clique problem by transforming a Boolean formula to a graph, then further reduces clique to vertex cover. Hundreds of problems have been shown to be NP-complete through relatively simple reductions like these that leverage previous results.