Usually has to do with winds, I presume. Winds are stiff in the winter and spring and can cause delays even when you leave on time. Just be happy you didn't need a refuel stop. As for why different routes, I imagine the winds change slightly with weather patterns. Given the weather data available, the pilots calculate a flight path that will get there the quickest (also avoiding any storms), and this isn't necessarily a straight line.