I'm trying to wrap my head around what all these terms mean and here is my understanding so far. I'm hoping you can improve my understanding of what these terms mean.
P is the set of all problems which can be efficiently solved.
NP is the set of all problems that can be checked for correctness if you guess an answer.
NP-hard is the set of all problems that are at least as hard as the hardest NP problems
NP-complete is the set of all problems are NP-hard problems that are also NP.
Have I covered anything? Are there any important aspects that I still need to know?