I've noticed that almost all threads derail, no matter which forum I'm at. I think it's just human nature. All of a sudden, I'm reading a string of half a dozen short posts that have nothing to do with the OP. Finally, someone comes along, responding to the OP and we're back on track again. I wouldn't be surprised if it was actually quantifiable and predictable.
Every so often, it's time for a commercial break or a little comic relief. I think it's human nature, so I don't think it can be stopped or prevented in such a way that would encourage people to keep coming here. In other words, it could conceivably be stopped or prevented, but then no one would like it here anymore because it would be too strict.
I don't like thread derailments either, but they happen.