the complementary solution
Suppose you are studying a driven circuit. Even before you think about the driving voltage, the circuit has its own free behaviour — the way it would ring or decay if you nudged it once and stepped back. The complementary solution is exactly that free behaviour, packaged as the general solution of the equation with the forcing turned off.
Given y'' + p(x) y' + q(x) y = g(x), you ignore g for a moment and solve the associated homogeneous equation y'' + p(x) y' + q(x) y = 0. Because that equation is second order and linear, its solutions form a two-dimensional space, so the complementary solution is y_c = c1 y1 + c2 y2, where y1 and y2 are two linearly independent solutions (a fundamental set) and c1, c2 are arbitrary constants. For constant coefficients you get y1, y2 from the roots of the characteristic equation; in general they come from whatever method solves the homogeneous problem.
The complementary solution carries the two arbitrary constants of the full problem, which is why it is what you adjust to meet initial conditions. It also has a physical reading: it is usually the transient — the part that dies away as x grows (when the system is stable) — leaving the forced, particular part as the lasting response.
For y'' - y' - 2y = e^(3x), the homogeneous equation y'' - y' - 2y = 0 has characteristic roots 2 and -1, so the complementary solution is y_c = c1 e^(2x) + c2 e^(-x).
The complementary solution is the homogeneous general solution, holding both free constants.
Fit the initial conditions to the FULL solution y_c + y_p, not to y_c alone — a beginner trap is to solve for the constants before adding the particular solution, which gives the wrong constants.