Arcanine moves first because Extreme Speed has +2 priority, while Quick Attack only has +1. Higher priority moves will always trump moves of lower priority. If a Persian used Fake Out on the same turn, it would hit before both Extreme Speed and Quick Attack because it has +3 priority.
If two Pokémon use a move with the same priority bracket, the faster one will move first. For example, if both Raticate and Jolteon use Quick Attack, Jolteon will move first because it is faster.
If two Pokémon with the exact same speed — for example, two identical Jolteon — use a priority move, each has a 50/50 chance of moving first (this is known as a speed tie).
I hope this helps!