BGE is a family of embedding models trained specifically for retrieval, available in sizes small enough to run locally. It solves the problem that a general-purpose embedding model is not optimised for the asymmetric comparison a search query and a document require. It exists because retrieval quality is set at the embedding step, so a model trained for it improves everything downstream without changing anything else.
Cohere Embed is a hosted embedding model that distinguishes the query from the document being indexed, and supports a hundred languages in one model. It solves the asymmetry problem explicitly: a question and a passage are not the same kind of text, and encoding them with the same mode is a compromise. It exists because multilingual retrieval otherwise means either a separate model per language or one model doing all of them badly.