The difference is that NP-complete means both NP-hard and in NP. Sometimes it's not important to mention that something is in NP even if it is, so NP-hard is said instead. I don't think there's some sophisticated motive behind it.
The halting problem is a classical example of NP-hard but not in NP problem; it can't be in NP since it's not even decidable, and it's NP-hard since given any NP-language $L$ and an NP machine $M$ for it, then the reduction from $L$ to halting problem goes like this:
Reduce the input $x$ to the input $(M',x)$, where $M'$ is a machine that runs $M$ on $x$ in all the possible ways ($M$ is non-deterministic, so there are several such ways, but a finite number since $M$ is polynomial), and halts if $M$ accepts in at least one of these computations.
Of course, $M'$ is not polynomial, but the reduction (producing $(M',x)$ given $x$) is polynomial, so this is a polynomial-time reduction.
Sometimes people are not satisfied with HP (halting problem) since it's undecidable. It's much more difficult to give a concrete example of a decidable problem, since most of the everyday problems are in PSPACE and it is yet unknown if PSPACE is different than P (if it is, then every PSPACE-complete language, such as TQBF (the language of all true quantified boolean formulas) will do. For now, we need to go as far as NEXP-complete problems (since the hierarchy theorems show that NP is different than NEXP).
Complete problems for NEXP can be constructed from complete graph problems for NP (such as Hamiltonian cycle) if we change the representation of the graph - instead of being given directly, it is given via a black-box algorithm that takes two vertices as input and outputs whether there is an edge between them or not (so the size of the representation of the graph is exponentially smaller than it would be for if the edges were given directly).