Could be any variety of reasons, including a last minute change as noted above.
But a lot of times you see D1 teams playing D2 or D3 this weekend or early next week if they are playing in a tournament next week/weekend. If you are already playing 3 games in 3-4 days you don't necessarily want to add a 4th game against a D1 opponent that week.
At the same time you don't necessarily want to have a week+ off without a game this early in the season. Players just spent more than a month playing against nobody but each other in practice, this early you don't want to go back to that and risk things getting a little stale. Keep the momentum of the season flowing.
So sometimes you schedule a D2/3 opponent to try to strike a balance of those two things, staying sharp but hopefully not going into your first tournament with tired legs. Nobody can be taken lightly though obviously.