We do use eigenvalues, because they behave like invariants in linear systems (invariant inputs are well connected to outputs) and generally finding invariants of unknown or model systems provides a great deal of information on how they act on other inputs.
Most problems solved using methods based on eigenvalues rely on some technical hypotheses, related to the properties of signals and noises. They are often modeled with statistical models (stationarity, second-order properties) from which one can derive quantities like the number of sources, the power of the noise...
Now, from the actual observations you have recorded, you will have to compute estimators of the theoretical covariance matrix, and this will be affected by biases, errors and model mismatch. As a results, the eigenvalues are only estimates as well.
Even if there exist some algorithms to solve part of the problem (diagonalizing a matrix) with arbitrary precision in a numerical analysis sense, this does not entail that you have exactly identified the actual signal processing system you were studying.
Then, as answered by @TimWescott, also come all the computational issues.