I just newly started looking into computational complexity.
Since we don’t know if P = NP, we would like to have a way of saying “This problem is in NP and is really hard unless P = NP.”
This is made more formal by the notion of NP-completeness.
Therefore, we say a problem A is NP-complete if
(a) it is in NP, and (b) every problem B in NP is polynomial-time reducible to A.
Using a graph $G$ and an edge $e$ in $G$ as an example, how do I determine whether or not there is a Hamiltonian cycle that includes $e$?
With this, I could show that the problem is NP-complete and use the same approach for similar problems.