Typically you'll also see people chip away at Turing completeness. There are programs that in theory are correct, but aren't allowed by the rules of the environment which cannot tell your correct solution from a slightly different and wholly nefarious one.
We don't always need to solve the general problem, and in cases where the general problem is undecidable, you're foolish to even try. Your boss needs to be set down and explained that in this house we obey the Laws of Thermodynamics, Lisa.
A trivial way to make sure a program halts is to add an upper bound on how much time it takes to run. A more complex way is using theorem provers. Turing completeness is usually not required for real life programs.