:salam2:
Its because the sun moves across the earth and that it will be morning at an earlier time the further eas you are.
Prayer times are also dependant on the lie of the land too (no alot of people know this). If you are in a valley, the sun will go down at a much earlier time than if you were on top of a hill, therefore magrib will be alot earlier!!!!!
If you are talking about in the same city.....now thats a difficult one. It happens everywhere and I dont really know why. It just seems ludicrous why mosqus next door to each other start their prayer times sometimes 30 mins apart (not including the asr thing).
I feel the best thing to do is to follow your local masjid/ main masjid and not let it bother you too much, the ummah is totally weird sometimes!