I'm sure the deal wasn't cheap, and if they stuck Amazon with a bad matchup they would be less likely to do it again next season. Out of the matchups that were available to them, 49ers-Cardinals was the best draw.
If anything, choosing that game to be streaming-only likely
increased possible viewership. It was an NFL Network exclusive originally, meaning only those with said Network (which isn't everyone) could watch it. By streaming it via Amazon's platforms (which includes Twitch), it suddenly becomes available for more people to watch, including those of us who don't subscribe to the NFL Network. As always with cable-exclusive games, the NFL's broadcast contracts require games to be available over-the-air on free TV in each team's local markets.
I personally think it's a great experiment. This is 2020, distribution methods have changed, and with an increasing number of "cord-cutters" cutting cable and satellite TV because it's just becoming too damn expensive, providing an alternate method, one widely available to the masses, is a great idea. The NFL is easily the most intelligent of the major American sports leagues when it comes to webcasts... they realized that trying to shut down all of the bootleg streams was a waste of time, so why not do it themselves and make a profit off it, and in higher quality to boot? If you have a smart TV or streaming player (like Roku) you can easily get the game through the Twitch or Amazon Prime video apps...and having watched some of the Thursday night games on Twitch versus Fox, I find the video quality of the stream superior... when my internet connection doesn't take a dump, that is.