The easy answer from historian Dan Roberts of "A Moment in Time" is "by accident".
Since 1798 congressman held caucuses to choose the nominees for the presidential elections but they were all political insiders so this process led to corruption or at least gave that appearance, so in 1904 Florida held the first primary as an alternative to a caucus.1 By 1925, 25 of the 48 states held a primary, but since 1920 New Hampshire has held the first primary of the election season.1 NH held its first primary in 1916 2 and wanted it to be in May but it was pointed out that in May the NH farmers would be out in their fields1, so it was moved to the second Tuesday in March, the traditional town meeting day, one week after Indiana and the same day as Minnesota.2 By the next election cycle, 1920 Indiana moved it's primary to May and Minnesota got rid of it's primary.2 In that year Leonard Woods’ delegates won(had been military commander of Teddy Roosevelt’s Rough Riders) in NH, but Warren G Harding won the party's nomination at the Chicago convention.2
Being first gives influence disproportionately based on size and population1 but it is not just first, they want to be a full week ahead of all of the rest so the media has time to process and scrutinize, and the candidates can have time to stay in or drop out3 adding to NH's influence.
There have been many moves by other states to steal the early spot light so NH has passed a series of laws that make theirs earlier. In 1996 the statute read "on the Tuesday at least seven days immediately preceding the date on which any other state shall hold a similar election, whichever is earlier," which that cycle put NH's primary on Feb 20.2 This year because of South Carolina's rebellious spirit, moving their primary to Jan 21, New Hampshire will be held on Jan 10. The 2012 National Convention, where who ever is chosen from these primaries and caucuses is officially selected, isn't going to be until the week of Aug 27. 3 We have a long way to go.