Hopefully this is actually a bug; sorry if not:
System Information
Operating system: Linux-4.18.0-25-generic-x86_64-with-debian-buster-sid 64 Bits
Graphics card: GeForce GTX 1060 6GB/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 390.116
Blender Version
Broken: version: 2.81 (sub 15), branch: master, commit date: 2019-10-23 04:02, hash: rBb9dd87f0cbea
Short description of error
After select a parent object and using "select hierarchy", dragging objects to a new collection doesn't take the children with it
Exact steps for others to reproduce the error
- start blender with blank config directory
- shift-d duplicate the cube; parent new cube to the original cube
- deselect all
- in outliner, make a new collection
- select parent cube in outliner, right-click and choose "select hierarchy"
- left-click-drag the parent Cube to the new collection
- observe that the child cube remains in the old collection
- ctrl-z to undo
- left-click-drag the parent Cube to the new collection
- this time both cubes go in to the new collection (if the parent was expanded, it can be seen that after the undo, both Cubes are "outliner selected", as opposed to after the "select hierarchy")
It is unexpected that the first drag doesn't take both objects, and also unexpected that the identical behavior is different after the undo. Perhaps I am misunderstanding the proper usage of the outliner and the various ways things can be selected, but I would think that "select hierarchy" should fully select the children so that they move with the parent.