The important thing to keep in mind is that the Kohn-Sham (KS) band gap is not the fundamental/quasiparticle gap. Even theoretically. This is not an 'underestimation' of the band gap. They are not the same gap.
The fundamental quasiparticle (QP) gap is calculated as the difference between valence band maxima and conduction band minima, but for different hamiltonians.
A part of the exchange-correlation potential called the response potential has changed in a discontinuous manner as you've added the new electron to see where your conduction band minima is. That added electron has changed the hamiltonian.
I think this little bit is really a dominant pitfall (I'm sure there are many others). It helps to keep in mind that the KS gap is not the QP gap. Even with the 'exact' KS functional, you wouldn't get the bandgap that compares favourably with experimental QP gaps.
Almost the entirety of the above rant has been taken from:
- https://pubs.rsc.org/en/content/articlelanding/2017/cp/c7cp02123b#!divAbstract
- https://pubs.rsc.org/en/content/articlelanding/2013/cp/c3cp52547c#!divAbstract
As above, I'm sure there are many other pitfalls, but this is the one I like to keep in mind the most.