Why is the excitation energy different from the energy difference between the orbitals involved in transition?
Just look at the Hartree-Fock equations that define orbitals
$$
  \hat{F} \psi_{i}(1)
  =
  \varepsilon_{i} \psi_{i}(1) \, ,
  \quad i = 1, 2, \dotsc \, ,
$$
where $\hat{F}$, the Fock operator, is given by
$$
  \hat{F}
  =
  \hat{H}_{\mathrm{core}}
  +
  \sum\limits_{j=1}^{n}
  \big(
    \hat{J}_{j} - \hat{K}_{j}
  \big) \, .
$$
First, notice that summation in the series goes over the number of electrons, or, in other words, over all occupied orbitals. Secondly, note that $\hat{J}_{i} \psi_{i}(1) = \hat{K}_{i} \psi_{i}(1)$, and thus, the Fock operator for the $i$-th occupied orbital does not include the Coulomb and exchange contribution from the $i$-th occupied orbital itself. The so-called self-interaction is perfectly canceled in the HF model and this is a rather nice feature of this model.

It also means that an electron in each and every occupied orbital "feels" only $n - 1$ electrons in other occupied orbitals, while an electron in a virtual orbital "feels" all $n$ electrons in all occupied orbitals without any exceptions. As a result a virtual orbital is useful only for describing the system in which an electron was added to it but none of the occupied orbitals were depopulated, so that electron in the previously unoccupied orbital still "feels" all $n$ electrons.

Now think about exciting an electron from an occupied orbital $\psi_o$ to a virtual one $\psi_u$. Before excitation an electron in $\psi_u$ would "feel" all $n$ electrons, but after excitation it "feels" only $n - 1$ electrons since $\psi_u$ is not unoccupied anymore. That is clearly a contradiction. So, indeed, $\varepsilon_u - \varepsilon_o$ should not be used to calculate the excitation energy, because exciting an electron from $\psi_o$ to $\psi_u$ leaves behind a hole in $\psi_o$ and $\varepsilon_u$ describes the case when one puts an electron into $\psi_u$ but does not remove one from $\psi_o$.