Why does flight duration differ for the same flight?
Several possible reasons:


different equipment (not every aircraft flies at the same speed)
different routing
known seasonal changes in high altitude winds (which can prompt routing changes)
extra time built in in some periods for historically experienced frequent delays during those periods (e.g. in summer when a lot of inexperienced travelers with small children are expected, boarding and deplaning tends to take longer than in spring and autumn when there's more business travel).


I'm sure there are other reasons as well.