Scattering amplitude with on-shell virtual photon Let's assume electron-electron scattering in QED in second order of perturbation theory. Then in the corresponding scattering amplitude there will appear photon propagator
$$
D_{\mu \nu}(q = p_{i} - p_{f}) = -\frac{g_{\mu \nu}}{(p_{i} - p_{f})^{2}}.
$$ 
If $p_{i} \to p_{f}$, "virtual photon" will become "more and more" real one, and $D_{\mu \nu} \to \infty$. But this also means that there is no scattering. 
So what is really will be with scattering amplitude when $p_{i} \to p_{f}$?
 A: This is an excellent question. The technical term for this effect is a collinear divergence. When $p_i-p_f$ tends to $0$ you get a divergence in the scattering amplitude.
So why is this physically reasonable? Well remember that actual physical observables are cross-sections, not scattering amplitudes. Also recall that you cannot prepare a particle with an exact momentum. In an experiment you use a jet of particles and integrate over some region of phase space.
Hopefully you'll now agree that this divergence appears under an integral sign in a physical observable. But why does this help us?
The answer lies in loop-level scattering amplitudes. When you integrate over loop momenta you typically have a divergent result, schematically
$$A\sim \int_0^\infty \frac{d^4 l}{l^4}$$
It turns out that the $1$-loop divergence exactly cancels the tree level one in the overall cross-section. More generally you can show that the $n$-loop divergences are cancelled by $n{-}1$-loop ones in all physical observables!
This magical result is known as the KLN theorem. If you'd like to know more, I recommend reading the section about IR divergences in Pesking and Scroeder.
Finally a little bonus information! The fact that scattering amplitudes have divergences is extremely useful. Roughly speaking this allows us to use complex analysis to help calculate amplitudes. Much of my research depends on this simple fact!
