Nearly always it's for operational reasons - a signal at danger (train ahead or converging at a junction on the other route) or if on a single track line, the train may have entered a crossing loop and is scheduled to pass another train heading in the opposite direction.