Upvote:16
The 20th amendment says "The terms of the President and Vice President shall end at noon on the 20th day of January ... and the terms of their successors shall then begin". The body of the constitution (article II, section I) says: "Before he enter on the Execution of his Office, he shall take the following Oath or Affirmation: [the oath]".
As a result, the president always takes the oath right around noon on January 20th. But, throwing a big inauguration shindig at noon on a Sunday isn't considered appropriate -- it pulls people away from church. So, when January 20th falls on a Sunday, the incoming president takes the oath in private at noon. The ceremony is repeated the next day in order to satisfy the need for pomp and circumstance.
Upvote:27
You will see from the Oath of office WP page that this pattern of two inaugurations always has the first ceremony labeled as "private". The POTUS has to be sworn in on the first day of office.
But having a public ceremony where people could actually attend (instead of watching on TV), where parades could be held and such, is not always possible on that first day. In recent times, this was usually because that first day of office fell on a Sunday.
WhiteHouseHistory says as much (the first oath being private because it fell on a Sunday).
Other entries -- Chester A. Arthur, Calvin Coolidge -- point towards the new POTUS not being in Washington for the first oath, which is also a good reason to have a second ceremony in the capitol a couple of days later.