You want dedicated NICs for a corosync ring (+ optionally for management) as the latency should always be below 1ms so you don't want any other traffic on that NIC/switch that could reduce QoS.
Then a NIC for your guests.
And another NIC for backups/migrations/replication so when those saturate your NIC this wouldn't affect your guests.
When using ceph maye more NICs.