In fact, even in the region of the pilgrims, Thanksgiving was merely a "regular," but not an "annual," observance for about 50 years. In 1680, it finally became an annual observance in the Massachusetts Bay Colony. Other regions also celebrated Thanksgiving celebrations (some annually, some not), but these were scattered all over the calendar according to region (and many of those regions celebrated not by eating, but by fasting!). This decentralized attitude toward Thanksgiving continued for nearly two centuries.
Thanksgiving did not become an annual observance across the whole of America until 1863, when President Lincoln made a proclaimation (actually written by Secretary of State William H. Steward):
I do therefore invite my fellow citizens in every part of the United States, and also those who are at sea and those who are sojourning in foreign lands, to set apart and observe the last Thursday of November next, as a day of Thanksgiving and Praise to our beneficent Father who dwelleth in the Heavens.It's worth noting, however, that even at this point, at which point Thanksgiving became a de facto annual American observance, the current pattern was not yet set. Nothing in Lincoln's proclamation dictated that Americans should (let alone would) continue to nationally celebrate the Thanksgiving event every year. Even so, future Presidents did in fact declare an annual Thanksgiving observance from then on.
However, I'd like to point out that Lincoln declared the last Thursday of that 1863 November, rather than the fourth, would be the one recognized as a day of Thanksgiving. Of course, in most years, November only has four Thursdays, making this is a purely academic distinction. Presidents continued to follow this "last Thursday" pattern for decades, until Franklin Roosevelt broke with the then-current tradition in 1939 (a year when November had five Thursdays), and declared that Thanksgiving would be on the fourth Thursday of November that year.
Why make the change? Apparently for economic reasons. The country was still dealing with the Great Depression, and Roosevelt wanted to make sure that merchants had as much time to sell Christmas gifts as possible. Although it's hard to understand these days, when we see and hear Christmas-related marketing even before Halloween, it was considered improper to advertise for Christmas before Thanksgiving had yet taken place. The solution? Have Thanksgiving earlier! In fact, Roosevelt's original intention seems to have been to make Thanksgiving the next-to-last Thursday every November, and this was indeed set in his Thanksgiving proclamations for the next couple of years.
As is true when pretty much any long-standing tradition is changed, there were some people upset with Roosevelt's changes, and several regions flouted the presidential proclamations of 1939-1941 and continued to celebrate Thanksgiving on the final Thursday. Congress even got involved, and passed a resolution in 1941 that would have fixed the old last-Thursday date. However, a compromise was reached, resulting in an amendment that December which set the now-familiar fourth-Thursday Thanksgiving. This was signed into law by President Roosevelt, and the date of Thanksgiving was set as a formal matter of federal law for the first time.