Causes include fat-fingered orders, trades printed with the wrong decimal, late reports arriving out of sequence, and cross-venue prints at stale prices. Exchanges bust some of them after the fact, which means your historical file may or may not still contain them.
The detection heuristic is simple: a price that deviates sharply from neighbours in both directions, is unaccompanied by volume elsewhere, and reverts on the next tick. A genuine move has follow-through on other venues and in related instruments.
Handle them by flagging and reviewing rather than by automatic deletion, because the same filter that removes bad ticks removes flash crashes and limit moves, which are the events your risk model most needs to see.
Related: data-quality-check, outlier, tick-data, missing-data