Devices being renamed, devices created by integration which were removed since then - it all creates a lot of garbage entities which cannot be removed easily.
For example : lets say that i rename my AndroidTV box, HA creates a new entity with a new name, but the old one still stays there, cannot be deleted and even partially works.
Another example are MQTT and new OZW integration devices which dont get automatically removed if they disappear from the network.