I think this is the big question which almost all operators have to face with. In my knowledge, the possible causes are:
+ Traffic congestion at the destination cell.
+ Bad planning of BSIC and frequency (included in HPLMN and adjacent PLMN)
+ Bad planning of radio coverage, that cause the ping-pong symptom.
+ The wait period set for the MS to move from the source cell to the destination cell in a handover may have been too short.
+ Other timers that related to handover (T7, T8, Tqho, T3103, T3105) have not been set properly.
+ … ;-(
Of course there are still many causes, that are waiting for other to contribute.