There is a moderator option to split a topic into a new subject, but frankly I have never used it and probably won't. It will most likely just confuse people. As far as I know, there is no general user option to branch a topic in the software interface.
Mostly it is up to the members to maintain the subject of the thread. Slight deviations are to be anticipated. It is a thought process and fluid discussions are part of the plan. Think of this as a big cocktail party where multiple discussions are started and ended as people make their way to and from the bar. I am sure this is more of a literal interpretation of how things work on the weekends than most of us will admit! *sip* <img src="/forum/images/smilies/968/smile.gif" class="smilie" alt="" />
If a major left turn in a thread is detected, then I will probably chime in. But the first line of defense is the topic starter himself. I know I jealously guard the direction of threads that I start, regardless of moderator status. That is just me. Sock drawer in order and by gosh nobody is going to scramble things up. So I urge that every topic starter be their own subject guardian and feel free to shout out, " Hey Guys, back on topic!" if you feel your thread is being perverted.