There are tons of reasons.
1. Not all games are scheduled as home and home contracts. Especially in week 1, where a lot of teams play in a showcase, maybe they weren't asked back. Maybe they don't want to go back, so they are looking for a game.
2. New teams, if a new team comes along, sometimes the home and home contracts have to be changed to accomodate getting the new team some games. example: Roxton
3. Teams not fielding a team. example: (2014) Bloomburg
4. Teams moving to 11-man. example: Boerne Geneva
5. Mutual agreement to dissolve the contract. I could think of 30 reasons why this would happen. See #2 as 1 reason, another would be that something may have happened to cause a coach not to want to play a game. Bad blood between two teams extending beyond a simple rivalry. A coach leaves and the new one decides that this or that game would not be good for his team. Or, the team you scheduled last year forfeited in week 4, so you want to find someone in week 4 who will not forfeit.
6. 1 sided agreement to not hold up to the contract. This is the one that shouldn't happen, but it does. Alot of the same reasons as 5, but not mutually agreed upon.