the superposition principle
If there is one idea that powers nearly every exact solution method for linear PDEs, it is superposition, and the intuition could not be simpler: for a linear problem, you can build complicated answers by adding up simple ones. Solve the equation for each easy piece of your situation separately, then add the results, and the sum is again a solution. Effects do not interfere or contaminate each other — they simply add. Two waves passing through one another, two heat sources warming a room, two charges setting up a field: in each case the total is the sum of the parts.
Precisely, if a PDE is linear and homogeneous — write it as L[u] = 0 for a linear operator L — and u1 and u2 are both solutions, then any combination a u1 + b u2 is also a solution, for any constants a and b. This follows directly from linearity: L[a u1 + b u2] = a L[u1] + b L[u2] = a*0 + b*0 = 0. The same idea extends to infinite sums and integrals, which is exactly what Fourier series and integral transforms exploit: you decompose your initial data into a sum of simple building blocks (sines and cosines, or exponentials, or eigenfunctions), solve the equation trivially for each block, and superpose. For an inhomogeneous problem the principle adapts: the response to a sum of sources is the sum of the responses, which is the basis of Green's-function methods.
This is why superposition is fairly called the engine of the entire linear theory. Separation of variables, eigenfunction expansions, the Fourier and Laplace transforms, Duhamel's principle, Green's functions — every one of them is superposition in disguise, building a general solution out of a catalogue of simple solutions. And it tells you exactly where linear methods stop: superposition fails for nonlinear equations, because there L[u1 + u2] is not L[u1] + L[u2]. The breakdown of superposition is, in a precise sense, the whole reason nonlinear PDEs are hard and need entirely different tools.
On the heat equation u_t = k u_xx, both u1 = e^(-k t) sin(x) and u2 = e^(-4 k t) sin(2 x) are solutions, so 3 u1 - 7 u2 is a solution too. Building data as a Fourier sine series sum_n b_n sin(n x) gives u(x, t) = sum_n b_n e^(-k n^2 t) sin(n x) by superposing the simple modes.
Add solutions to get solutions; decompose data into simple modes, solve each, and superpose — the whole linear toolkit.
Superposition requires both linearity and (for the simplest 'sum of solutions is a solution' form) homogeneity; it does not hold for nonlinear equations. Beware applying it to a problem with a nonzero source by naively adding solutions of the full equation — there you must add a particular solution to homogeneous solutions, not two particular solutions.