The copy node is somewhat similar to shuffle and shuffleCopy but with a different interface and concept.
The shortcut for the copy node is K. Just like a merge, it's meant to be use "A over B" so you copy elements from the A pipe to the B pipe. In the interface, the left part is the channels from the A pipe and the right part is the B pipe, or output. For each line you copy the channel on the left to the channel on the right. By default, the node copies the alpha channel from A to the alpha channel of B.
The main difference between Copy and Shuffle (or shuffle copy) is that where shuffle works with layers (also referred as pass) that each contain a number of channels (like the RGB channels of a specular pass) Copy only works with channels.
With a shufflecopy you can easily copy a diffuse pass by selecting diffuse in the input and output and it will automatically include the channels contain in the diffuse layer. With copy you'll need to select each channel manually of a list that can be very long. For this reason, Copy isn't your best choise when you need to copy a whole set of layers.
The upside with copy is that it will show you in the node graph what it's doing. This is a nice feature when working on massive comp scripts or when returning to a comp after a break, or for people who need to take over you script because you can see in a glimpse what is going on in the node without having to open it in the properties panel.
The second, although less useful, feature let's you copy four different channels from four different layers where shuffle can only work with up to two layers at a time. That's not always useful but it's good to know it's there.
Copy is a bit more basic than shufflecopy but for simple operations I tend to use it more since it shows what operation it’s doing in the node graph. It makes your script a lot easier to understand.