1. The roads must have flooded.
2. The roads must have been flooded.
Both are fine.
You can use #1 when you simply want to state your conclusion that the roads were full of water. The agent of the flooding is unexpressed.
You can use #2 in the same context as #1; the agent remains unexpressed, but the passive does at least imply an agent. It's a very slight change of emphasis.
You can also of course use #2 when you want to specify the agent, e.g.
3. The roads must have been flooded by the river.
All the best,