JavaScript can certainly hook into copy&paste to a degree. I'm sure you've copied text from a website and pasted it only to see that the website added some "THIS QUOTE TAKEN FROM BLAH.COM CHECK IT OUT MY DUDES" text.
I believe the actual webdev reason for the plugin is that JavaScript can't distinguish a paste from separate input, and if google docs treated user input the same as 35MB of pasted CSV, it'd probably lag to shit with all of the fancy UX they want to normally do.