Why do Detroit and Dallas host games every Thanksgiving?

Every Thanksgiving, families around the country turn on their televisions to watch football. And every year, they see two teams: the Detroit Lions, and the Dallas Cowboys.
This made us wonder where this tradition came from, and if there has been any thought to changing it. Here's the how, why and where we go with this Thanksgiving Day tradition.
NFL football on Thanksgiving actually goes back to the very beginning of the league. Games played on Thanksgiving date back to 1920. The league was trying to model it's game after college football, which had always played around the Thanksgiving holiday. Yale and Princeton began an annual tradition of playing on Thanksgiving Day in 1876.
Other professional leagues that predate the current NFL played games on Thanksgiving too. But, in 1920, the college game was far more popular than the new professional league, so it made sense to copy the what those schools were doing.
In the first few years of the NFL, several teams played on Thanksgiving including the New York Giants, Chicago Bears and Chicago Cardinals, plus some other more obscure teams like the Frankford Yellow Jackets, Pottsville Maroons and Canton Bulldogs.
Then, in 1934, the first owner of the Lions, George A. Richards, started the tradition of the Thanksgiving Day game as a gimmick to get people to go to Lions football games. But the most important part of Richards' idea involved broadcasting the game.
Richards owned WJR Radio in Detroit, which was a major affiliate for NBC. Richards was able to get an agreement done to broadcast his Thanksgiving Day game live on the NBC Network to stations all across America. A tradition was born.
There were two years, 1939 and 1940, where the Lions didn't play on Thanksgiving. The reason was President Franklin D. Roosevelt moved the holiday. Trying to spur the economy, Roosevelt pushed Thanksgiving up a week to encourage more shopping. Half the states recognized the move. Half didn't, and that messed with the NFL's holiday scheduling. Also, because of the spector of WWII, the NFL didn't schedule Thanksgiving games from 1941-1945.
When the regular schedule resumed in 1946, it was only the Detroit Lions playing at home on the Thanksgiving holiday. Starting in 1951 and running through 1963, it was the Lions and Green Bay Packers each Thanksgiving. Detroit has played Green Bay by far the most times in these games.
Since 1964, Detroit's opponents have varied including four games against the Vikings. The Vikings are 2-2 in those games: shutout wins in 1969 and 1988, lost a 44-38 shootout in 1995, and most recently in 2016 a 16-13 loss.
Detroit has now played a home game every Thanksgiving since 1946. In true Lion fashion, they have a losing record of 37-40-2 in those games. This year, it's the Chicago Bears who have played the second-most games in Detroit on the holiday after the Packers.
Then there are the Dallas Cowboys, who began play in 1960. By 1966, the Cowboys decided to adopt a Thanksgiving tradition of hosting games. It was a long-held rumor that the Cowboys had sought a guarantee that they would regularly host a game on Thanksgiving. But the truth is simply that the Cowboys wanted to get noticed.
Cowboys General Manager Tex Schramm had been looking for ways to create national publicity. One idea of Schramm's was the creation of the Dallas Cowboy Cheerleaders, and that seems to have worked out just fine. His other idea was to schedule a Thanksgiving Day game at home.
Those early Cowboy teams had struggled under young head coach Tom Landry, and they were having trouble drawing fans. Even though the NFL was worried another Thanksgiving Day game wouldn't sell tickets, Schramm and the Cowboys guaranteed the gate in case nobody showed up.
And they showed up. 80,259 crammed into the Cotton Bowl in 1966 to see the Cowboys beat the Cleveland Browns. The NFL had a second Thanksgiving Day tradition.
Since 1966, the Cowboys have missed two Thanksgiving Day games though.
In 1975 and 1977, then Commissioner Pete Rozelle wanted to replace Dallas with the St. Louis Cardinals as the host (in 1976, the Cardinals played at Dallas). Rozelle was hoping to boost the struggling franchise in St. Louis. By then, the Cowboys were regular Super Bowl contenders however, and well on their way to becoming "America's Team". The change from Dallas to St. Louis was not well-received by fans.
In those three years involving St. Louis, the Cards were victims of three very ugly losses. That led to Dallas resuming hosting the games in 1978. The Cowboys requested, and received, an agreement guaranteeing a spot on Thanksgiving day "forever". This year the Cowboys host the Buffalo Bills.
Over the years, other NFL teams have expressed interest in hosting Thanksgiving Day games. The issue came to a boiling point in 2008 when the winless Detroit Lions were blown out by Tennessee 47-10 on their way to an 0-16 record. Despite calls for more competitive games, Commissioner Roger Goodell confirmed that the Lions would stay on Thanksgiving, but he did keep the issue open to revisiting in the future.
The requests to have other teams host on Thanksgiving have died down since the introduction of the prime-time game in 2006, plus the regular Thursday night NFL schedule. For now, it looks like Detroit and Dallas will continue to be the Thanksgiving traditional sites for NFL football going forward.