The difference is not so much in the algorithms used, but in the objectives. Object recognition is a problem of naming an object or objects depicted in an image. Content-based Image Retrieval is the problem of finding images in a database which match a user's query, which may be in the form of an image or in form of text.
I would say that CBIR is a more general problem than object recognition. If anything, it is CBIR that builds on object recognition, and not the other way around. If you have an image retrieval system, and the query is an image of a cat, then your system would need to recognize that this is an image of a cat (object recognition), and then find other images of cats in its database. Presumably to be able to do that it would have to have performed object recognition on all of its images in advance, and tagged the ones that depict cats accordingly.
Note, that you can also have a query that may not require object recognition. For example you may ask the system for images of urban landscapes, or images of indoor scenes. This is a problem of "scene recognition" and it is typically approached by using some sort of a global image descriptor (e. g. scene gist), rather than trying to find all the object in the image.
Also note that an object recognition system must give you a single answer, i. e. the name of the object in the given image, and that answer is either right or wrong. On the other hand, an image retrieval system gives you multiple possible matches for your query, and you would consider it successful even if only some of the top matches are good. So there is a big difference in how you might evaluate an object recognition system vs. an image retrieval system.