It is useful even without programming: workflows, policies, checklists, and spreadsheets all benefit.
Breaking a problem into smaller parts that can be solved separately. Exam trap: confusing decomposition with abstraction (ignoring details) or pattern recognition (spotting similarities).