Python: Copied Object Not Showing in Outliner
Link it to a collection
Prior to 2.8 a copied object required linking to the scene's objects collection.  For 2.8+ link it to a collection.
It will show in the outliner when collection is linked to a scene, or is the base scene collection.
The duplicate operator links the dupe to the context collection.
import bpy
from bpy import context


ob = context.object.copy()
context.collection.objects.link(ob)

link new object to scene with python in 2.8