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.
Jina Embeddings are embedding models built with long-context inputs as a design goal rather than a limitation to work around, so a whole document section can be embedded instead of a truncated fragment. It solves the chunking problem: when the encoder caps at a few hundred tokens, long documents must be split, and the split loses the context that made the passage meaningful. It exists because retrieval quality is often limited by what had to be discarded before embedding rather than by the model itself.