Applied is self explanatory but the others really arent. The source code gives a bit of clues though; as file apply_results.mli says
[Skipped] ones should always be at the tail, and after a single [Failed]
So in which cases would failed be used over backtracked, and vice-versa? And will we always have guaranteed atomicity on the entire group of transactions in an operation?