The first contest of the presidential election campaign is in Iowa because that has become traditional. There is nothing about Iowa that makes it “deserve” to be the first state to have a caucus or a primary election.
Iowa has only been the first in the nation in terms of caucuses since 1972. In that year, the Democratic Party decided to change their system for selecting their nominee for the presidency. Iowa happened to have a process that took a long time (it has three levels of caucuses or conventions and then it has a state convention). This meant that Iowa needed more time to get their process done, so it made sense for them to start early. This was not seen as a big deal at the time. In 1976, the Republicans also had Iowa go first.
It was in 1976 that people came to think that Iowa was really important. In that presidential election, there was no obvious candidate on the Democratic side. Jimmy Carter then won the Iowa caucuses and that put him in the spotlight. He went on to win the nomination and the presidency. That made people realize that winning Iowa could make a candidate look good and give him or her a big boost towards the nomination. Since then, candidates have typically treated Iowa as a big deal and Iowa does not want to let any other state go before it.
So, Iowa goes first in presidential elections just because it happened that way and then it became traditional. There is no real reason that Iowa should go first, but now that it is this way, Iowa will not give its spot up easily.