argument principle
Walk once around a closed loop and watch how the angle (the argument) of a function f(z) winds as you go. By the time you return, the angle has turned through some whole number of full circles — a net winding. The argument principle reveals that this winding count is not arbitrary: it equals the number of zeros minus the number of poles that f has inside the loop. It turns a question about locating zeros and poles into a question of counting turns.
Precisely, if f is analytic inside and on a closed contour C except for some poles, and has no zeros on C itself, then 1/(2 pi i) times the contour integral of f'(z)/f(z) dz around C equals Z - P, where Z is the number of zeros and P the number of poles inside (each counted with multiplicity). The integrand f'/f is the logarithmic derivative, the derivative of log f, so the integral measures the total change in log f around the loop; its imaginary part is the change in the argument, hence the name. Geometrically, as z traverses C once, the image point f(z) traces its own closed path, and Z - P is the number of times that image path winds around the origin.
This is a deeply practical tool. In control theory it is the basis of the Nyquist stability criterion: plot the open-loop transfer function as the frequency sweeps, count how many times the plot encircles the critical point, and you learn how many unstable poles the closed-loop system has — without ever solving for the poles. It also underlies root-counting algorithms, the design of filters, and the proof that a degree-n polynomial has exactly n roots. Rouche's theorem is its most-used corollary.
For f(z) = z^3, integrate f'/f = 3/z around the unit circle. The integral is 3 times the loop integral of 1/z, which is 3 times 2 pi i, so dividing by 2 pi i gives 3. And indeed f(z) = z^3 has a triple zero (Z = 3) and no poles (P = 0) inside, so Z - P = 3, exactly the winding number of the image as z circles once.
Counting how the image winds around the origin counts zeros minus poles inside the loop.
The principle counts zeros and poles with multiplicity — a double zero counts twice — and the function must have no zero or pole sitting on the contour itself, or the logarithmic derivative blows up and the winding count is undefined. It tells you how many zeros lie inside, not where they are.