Some updates deprecate code. If that code is needed for critical functionality the update renders the device useless for that application.
Updates require some level of connectivity. It is becoming increasingly more common to insulate an IoT device from the Internet. Either through a VPN, an internal firewalled network, or completely disconnected. This is at odds with an IoT "requirement" to update equipment.
Updates require downtime. When do updates occur? How often? Can they be scheduled? If I have several IoT devices from the same manufacturer can I aggregate updates with an intermediate software package which then controls deployment?
How are updates tested? Are the original requirements from the initial manufacturing process kept or does this change over time and result in a broken IoT device.