They weren't always. The Constitution does not stipulate the date of national elections, just that the Electoral College electors should be chosen on the same day throughout the United States. When the United States was first founded, Congress met in December and usually adjourned in March. This was largely because it was the only time farmers could be away from the land. A 1792 law established that presidential elections should be held sometime in November, which gave enough time to count the votes before the new congressional session started. But the dates of local, state, and congressional elections varied from state to state and year to year. In 1845, the first Tuesday after the first Monday in November became the official presidential election date. And in 1872 the Apportionment Act added the election of members of the House. (In case you were absent from school for this: Senators were chosen by state legislature until 1913.) But why Tuesday? Many people had to travel to get to the polls, so Monday was allotted as a travel day because Sunday was a day of worship. Nov. 1 was out because it is a Catholic holy day of obligation, All Saints Day.
Explainer thanks Betty K. Koed of the Senate Historical Office and Slate reader Alex Rogers-Camp for suggesting the question. For more information click here.