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.
E5 is an embedding model family trained on large collections of weakly supervised text pairs, with the task described in the input so one model serves queries, passages and classification. It solves the problem that an embedding model trained on one kind of pair transfers poorly to another. It exists because describing the task in the text is a cheap way to make one model cover several retrieval settings.