My explanation for why we use complex exponentials in waves analysis, in two common cases:
In the first case, when you're solving a differential equation like
f(t) = - C^2 * d^2/dt^2 f(t)
you have several different ways of representing the entire family of solutions, all valid. Here are some:
A*cos(Cx+phi)
A*cos(Cx) + B*sin(Cx)
A*e^(±iCx)
So at least two of these solutions only involve real numbers. However, it turns out from experience that this is actually harder to work with; it's more annoying to keep track of phase or FOIL cross-terms than it is to work with complex numbers. Your equations end up with fewer terms when you use complex exponentials. Then, because we're working with linear systems, you can simply add up your complex solutions in such a way that the complex numbers cancel out and you're left with a real-valued solution that works for physical waves.
In the second case, we use complex numbers to keep track of something. Like when you're doing a Fourier transform, you break down a signal into its different frequency components. However, a signal made up of a 500hz sine wave is going to be shaped differently from a signal made of a 500hz cosine wave, so we have to keep track of those separately. Conveniently, e^(ix) = cos(x) + i sin(x), so we use a complex number to represent the presence of a 500hz cosine wave (real part) and a 500hz sine wave (complex part) while keeping our equations simple. That's sort of a practical overview; a deeper understanding can come from learning linear and abstract algebra.