Reasons are many but I will point out some important one-
1. Distance
2.Patronage
3. Zone (area from where the train is coming)
4. Passenger haulage case (Passenger friendly train)
5....
more... Stoppages.
I suppose with these reasons BP was given precedence, as what I noticed today was greater humiliation for a SF to run with (Kuch jada bol diya maine).
12334 vibhuti SF exp departed from BWN at 0701hrs and was running 0100hrs late. After 4mins at 0705hrs 13006 given green signal to proceed towards HWH and it was running late by 0115hrs. Though both arrived parallel at BWN, departure was also slightly parallel as 12334 departed approx 3min before 13006. It was now understood that they are going to run parallel towards HWH, question was who will defeat whom? Well it got clear after 26KMs of running 110MPS 13006 & 100KMPH running 12334. 12334 got chase down by 13006 while running parallel at Nabagram which is situated in HWH-BWN chord line.