An algorithm runs in polynomial time if the number of steps it takes is bounded by some polynomial in the size of its input - for example proportional to n, n squared, or n cubed, where n is the input size. The Stanford Encyclopedia of Philosophy describes the polynomial-time class P as the union over all k of the time classes TIME(n to the k), that is, the problems decidable in a number of steps proportional to a polynomial function of the input size.
Polynomial time matters because it is the standard formal definition of “efficient” or “feasible” computation. The Stanford Encyclopedia treats polynomial running time as the dividing line for tractability: problems solvable in polynomial time are regarded as tractable, while those requiring exponential time are regarded as intractable. The appeal of this dividing line is that polynomial bounds compose well - chaining polynomial-time steps together still yields a polynomial - and they grow slowly enough to remain practical as inputs scale, unlike exponential growth which quickly becomes hopeless.
The notion underlies much of complexity theory. The class P is the set of problems with polynomial-time algorithms; the class NP is the set whose candidate solutions can be verified in polynomial time; and the central open question of whether P equals NP asks whether every problem whose answer can be checked quickly can also be solved quickly. Polynomial time is therefore not just a technical measure but the conceptual hinge on which the field’s deepest unsolved problem turns.