Checkout points the head at a specific commit.
Reset points a branch at a specific commit. (A branch is a pointer to a commit.)
Incidentally, if your head doesn’t point to a commit that’s also pointed to by a branch then you have a detached head. (turned out to be wrong. See comments...)