To answer that question it is important to remember several things. The primary shepherd and pastor in and of the diocese is the Bishop. Because of geographic realities the bishop cannot be everywhere meeting the needs of the people.
For this reason priests (presbyters) are ordained and assigned exclusively to assist the bishop in his ministry. As a bishop looks over his diocese he looks at the needs of the individual communities and tries to find a priest for them whom he feels can best lead them in his place. The process is similar to that of a coach who sees the gifts of his/her players and moves them around to the positions that will best serve the team.
While the assignment as a pastor is seen as a more or less permanent designation there are the realities that creep in to make them less than permanent. For example as one priest retires, dies, or withdraws from active ministry, other priests must be shuffled to serve all the communities. All priests may receive a similar theological education, but as you may have noticed not all priests have the same personal gifts: some are better at preaching, some have a better bedside manner with the ill, some are better teachers, some are better counselors, some are better finance managers, some work best with older people and some work better with the youth.
As the person who is responsible for 100,000+ souls the bishop aided by his staff do his best to ensure that everyone in the diocese is served by a priest who can help them on their journey to heaven. The reason there are so many different kinds of priests is because there are so many different kinds of people to shepherd. One size does not fit all. Thus we could suspect that the periodic movement of priest is God’s way of making sure each of the members of a given parish have a pastor at some time who can connect with them and lead them to heaven.