If I were to attempt to make a computer program that resolves whether a program defined by a given base of code will halt or not, would the contradiction described by the halting problem arise as a unique, one off, case that my program will not be able to resolve (like a division by zero,) or will it arise as a more general impossibility that (likely mysteriously) causes my program to not work in a variety of seemingly reasonable circumstances due to some non-obvious logical contradiction that renders unanswerable a question that seems at first sight to be reasonable?
Sorry if my question is vague, but is the halting problem describing a 'one off' problem, or would it come up in many, many circumstances for all but the most trivial code?
Assuming your program is perfectly implemented, it may fail to terminate on specific inputs.
To facilitate language, let us call the "halts"/"doesn't halt" object "the program" and the code under inspection "the machine". (This is just to give clear words to distinguish what we are talking about.)
The program is to determine whether the machine will halt when fed a specified input. (For instance, when supplied with 0-length input.)
This may not seem powerful, but it is a method to test the consistency of logical systems. For instance, this article describes such compositions -- one machine that produces instances of a problem type and a program that halts if an instance satisfying a requirement is met. One can ask if it possible to prove that such a program halts. It turns out that an 8000 state Turing machine (models of computing machines simple enough to prove things about) is sufficiently complicated that it encodes the consistency of ZF plus a large cardinal axiom. Since it is known that ZF plus a large cardinal axiom cannot prove the consistency of itself, ZF plus a large cardinal axiom is not strong enough to resolve whether the program halts. Maybe it runs forever. Maybe it halts. Set theory is too weak to say which.
So your program has to be able to resolve questions more difficult than can be resolved by any chain of reasoning in one of our most successful theories for modeling counting and computation.
What you would see if you tried this is that for certain pairs of machines and inputs, your program would run forever, and at no time during its running would anyone (including programs and machines) be able to determine whether your program will eventually halt or not. That is, the complexities inherent in the machine/input pair are so vast that the program keeps finding more and more alleys to check to determine whether there is an eventual halt. And it never finishes the check.