Data dependence refers to the scenario where the execution of instructions in a program is contingent on the availability and order of data. It is crucial in optimizing compilers and parallel computing, as it determines how instructions can be reordered or executed in parallel without altering the program's intended outcomes.