What makes some problems computationally hard and others easy?
We don't know the answer to the above, though it has been intensively researched for the past 25 years. So far one of the important achievements of complexity theory is researchers have found an elegant scheme for classifying problems according to their computational difficulty. One applied area that has been affected directly by complexity theory is the ancient field of cryptography. Complexity theory has pointed cryptographers in the direction of computationally hard problems around which they have designed revolutionary new code.