Duplicating and note, separator, container, agent or adornment should create an item called "[$Name] copy" with existing attributes, prototypes, etc. However, note that a container's contents aren't duplicated if only the container is selected (regardless of whether its contents are displayed or not). Issues with prototype inheritance by agents and adornments were fixed in v5.6.0.
If more than one item is selected, each item creates a copy of itself, alongside its sibling and preceding it in sibling order (i.e. one lower in $OutlineOrder). Nested items, which must be visible and selected, are created at same outline depth as their source note, and as siblings of their source note, not children of their duped parent. Selections need not be a continuous block of items but can be non-contiguous selections and from one or more outline levels though they all need to be visible in the current view (so as to make the selection).
Option+dragging a selection adds all the new items in a single contiguous sequence although any nested items are created at the outline depth of the top-most item in the selection. For instance if a root level note and one of its children and grandchildren are selected, and Option+drag will result in three sibling notes at root level. There is no way to drag+copy and maintain relative outline structure.