In the famous fourier option pricing method by Carr-Madan, (http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.348.4044&rep=rep1&type=pdf), the crucial formula is
They evaluate this by using the trapezoid rule to write it in a form to which FFT can be applied. The output of the FFT will give us the call prices for multiple strikes. The complexity is $O(N \log N)$.
But the problem is that we have little control over the strikes. In particular if $N$ is large, the strikes become spread out, and many of the values are completely useless to us. Really, we are only interested in strikes close to $S_0$, the asset price.
So would it not be better to just calculate the integral above manually using quadrature rules, and then repeating that process for any given strike? This would be a $O(NM)$ algorithm with $M$ being the number of strikes, but in practice it would be very fast since we can re-use a lot of the computations (notice that $k = \log K$ is independent of $\psi(v)$ in the integral).