Generally it's caused by more traffic being sent to an interface than it can transmit during some time interval.
If the overrun is of a very brief time interval, sometimes the "cure" can be as simple as increasing an egress queue capacity.
The dups and fast retransmissions are likely due to the drops.