My understanding of ISI (inter-symbol interference) is this:
ISI is caused by trying to put more than one bit on a wire at the same
time. That is, before the wire has enough time to guarantee to settle to
a known DC value, the driver may change state, causing a collision of
the new signal and the old one that was still bouncing back and forth.
If you can understand the amount of time for acceptable settling then
you can cram more bits on the wire faster. This can be a hard problem,
however, because the amount of settling time is data pattern sensitive.
Engineers spend a lot of simulation time doing "eye" diagrams with
random data trying to find the worst interference pattern and thus
determine the maximum bit rate.
Senior Scientist, Viewlogic