Those points are right on! Miscommunication should have made it into this list. Miscommunication causes duplicate component implementations because it wasn't visible to the developer at the time. After the issue occurs sometimes we won't have enough time to merge them together because we're being pressured to finish another thing within the end of the day. This causes two separate implementations that practically do the same thing except a tiny change somewhere, like a different named prop for example.
Those of you reading this please make a mental note that communication with your teammates saves time and progress.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.