The halting problem is a specific instance of the type of problems predicted by the incompleteness theorem (IT).
The first IT says there within any system of logic that's powerful enough to express arithmetic (and consistent), there are always statements that are true that can't be proved true. A specific program, P, that doesn't halt, but can't be proved not to halt, is an example of this. (Or, more precisely, the statement 'The program P halts' is the example.)
The second IT says you can't prove the consistency of a system from within that system itself, but that's another story.