1) Competition for viewers. Everyone is cordcutting and can watch whatever program they want at anytime. Most people have a backlog due to there being more content out there than time to view it.
The NFL is no longer a specialty on Monday nights because of this.
2) The NFL also needs to do a better job accommodating cord cutters. Many people just get internet and Netflix and call it a day. They need to a better job addressing this.
3) Oversaturation(thursday games)
4) Milking their customers. If I'm going to go out of my way to buy Sunday ticket do I really need to pay more for freaking preseason games? Also, registered season ticket holders should get Sunday ticket for free for away games.