Object detection versus object recognition
You kind of answered your own question.

Object Recognition: which object is depicted in the image?


input: an image containing unknown object(s)

Possibly, the position of the object can be marked in the input, or the input might be only a clear image of (not-occluded) object.
output: position(s) and label(s) (names) of the objects in the image

The positions of objects are either acquired form the input, or determined based on the input image.

When labeling objects, there is usually a set of categories/labels which the system "knows" and between which the system can differentiate (e.g. object is either dog, car, horse, cow or bird).


Object detection: where is this object in the image?


input: a clear image of an object, or some kind of model of an object (e.g. duck) and an image (possibly) containing the object of interest
output: position, or a bounding box of the input object if it exists in the image (e.g. the duck is in the upper left corner of the image)