guaranteed to halt
Of all the words in this field, 'guaranteed to halt' is the load-bearing phrase. It is the precise property that separates an algorithm you can trust from one that might leave you waiting forever. A machine that is guaranteed to halt is like a clock that always finishes ticking out its answer and then stops, as opposed to one that might tick on endlessly without ever ringing. This guarantee is exactly what 'decidable' demands and exactly what 'merely recognizable' fails to provide.
Precisely: a Turing machine halts on an input when it reaches an accept state or a reject state after finitely many steps; it loops forever (does not halt) if it runs without end. A decider is a machine that halts on EVERY input — for no input does it loop. So 'L is decidable' means there is a machine that, for every possible input, is guaranteed to halt and to halt with the correct accept/reject verdict. The guarantee is universal (every input) and unconditional (no matter how long the computation, it is finite). It is NOT enough to halt on the strings in L; the machine must also halt — and reject — on the strings not in L. That second half is exactly what a mere recognizer may fail to do.
Two honest cautions keep this concept sharp. First, 'guaranteed to halt' says nothing about HOW LONG: a decider may run for an astronomical number of steps. It is a yes/no property (does it always finish?), not a measure of speed; speed is the separate concern of complexity theory. Second, the guarantee is genuinely impossible to provide for some problems. The halting problem — does a given machine halt on a given input? — is undecidable: there is no machine that is guaranteed to halt and correctly answer it for all inputs. So 'guaranteed to halt' is not a formality you can always arrange by being clever; it is a real, sometimes unattainable property, and the line between the problems that have it and the problems that cannot is the central drama the next field explores.
A loop 'for i from 1 to n: ...' is guaranteed to halt — it runs exactly n times. A loop 'while x != 1: x = next(x)' is NOT guaranteed to halt unless you can prove x always reaches 1; if next can keep x above 1 forever, the loop never stops, and no general checker can tell for every program whether such a loop halts.
Decidable = a machine guaranteed to halt with the right answer on EVERY input.
'Guaranteed to halt' is about termination, not speed — a decider may be astronomically slow. And the guarantee is not always achievable: the halting problem shows some questions admit no always-halting correct algorithm at all.