A major advantage is redundancy, so that the aircraft can continue flying if one fails. It is also common to see multiple GNSS (e.g. GPS) receivers, and sometimes even a redundant flight controller.
Of course, the problem with only two is that the software can't necessarily tell which of them has failed; 'at least three' is common for high resilience applications as it is much less likely for two failures at the same time (barring external factors, such as a power spike.)
Going further, you can also use different brands and/or technologies to remove the risk of a design or manufacturing flaw causing them all to fail at the same time.
The typical disadvantages apply - increased cost, weight and power consumption - but also software complexity increases as you need to have a method for handling the potentially erroneous data.
@Kralc's answer is correct. However, besides device redundancy such setup is also used to achieve measurement redundancy. When the two gyros are mounted rotated (usually 90°) to each other, the flight controller is able to cancel out (to some extent) the effect of a noisy axis on one of the IMU's. In Cleanflight/Betaflight/Emuflight when dual gyro mode is enabled data from both sensors are simply averaged (so there isn't some complicated "sensor fusion" going on). Looking at iNav's code it seems to me that it can only read data from one sensor at a time. I don't know about other closed source flight controllers.