The third thing that sucks about I2C is a little thing called Clock Stretching which can completely blow up your latency when reading sensors. The last company I worked for had to design a sensor out because it would stretch clocks unpredictably for several milliseconds, which was enough to blow our latency requirement to maintain real-time operation.
https://www.i2c-bus.org/clock-stretching/