why do you use ctrl+D 'xept for ctrl+C?
My guess is, from a development standpoint, duplicate is mildly easier to implement than copy-and-paste. copy requires some sort of "buffer" to hold the data before it is pasted, whereas duplicate can simply place the duplicate right in your cursor. Also with copy and paste, people might expect things like the copy buffer to continue being live even as you close one chip and open another, or even a project, but that brings in more complications. Then you might think about copy and paste between different windows, should that be a thing? Should it use the OS system clipboard? That's another headache. Now you're dealing with a line format, something that needs to be consistent so different versions don't corrupt each other. So especially considering these other implications, duplicate can be a lot simpler.