Every holiday seems to be dominated by one league. All of the summer holidays are baseball days. New Year's Day is owned by college football. The NBA rules Christmas. Thanksgiving is most definitely an NFL day. As you likely have noticed, there are specific NFL teams associated with Thanksgiving. The Lions always play the first game, and the Cowboys always play the second. Why is this?
The Lions played their first Thanksgiving game in 1934. It was their first season in Detroit. They had previously been located in Portsmouth, Ohio. A radio executive named George Richards bought the franchise and moved it to Detroit. The Lions were having difficulty gaining any sort of popularity in their new home city. Richards came up with the idea of scheduling their team's big game against the Chicago Bears on Thanksgiving. This was before the days when the league dictated the schedule to its teams. The teams themselves could schedule the times of their games. Richards used his connections in the radio business to get the game broadcast nationally. It was a huge success. The Lions sold the game out, and they have played on Thanksgiving ever since with the exception of World War II years.
Thanksgiving gained a second traditional team in 1951. For the next thirteen years, the Green Bay Packers traveled to Detroit to play the Lions on Thanksgiving. Vince Lombardi ended the arrangement. Lombardi cited the end of an agreement that paid the Packers $10,000 extra for playing the game, the difficulties of playing games on a short week every year, and having to face a rival in front of an electric crowd on the road every season. It is still special on the years the Packers travel to Detroit.
In the mid-1960's the NFL was looking to add a second Thanksgiving game. It was not entirely clear it would work outside Detroit, where Thanksgiving NFL was already a tradition. The Dallas Cowboys were a six year old team with no history of winning. General manager Tex Schram was a visionary. (He was a driving force behind other innovations like instant replay, the flags on goal posts, the NFL-AFL merger, and too many others to name). He jumped at the opportunity. The Cowboys hosted their first Thanksgiving game in 1966 and have played on every Thanksgiving since aside from two.
In 2006, the NFL added a third primetime game. The Chiefs defeated the Broncos. Since everybody in the league now sees the benefit of hosting a Thanksgiving game, numerous teams have asked to become the permanent host. With so many teams desiring the game, the NFL does not want to pick just one so it rotates. Since 2012, the league has picked a bitter divisional rivalry to feature in primetime. Jets-Patriots, Ravens-Steelers, 49ers-Seahawks, and this season Packers-Bears have been the recent matchups.