Embedding search is fast because it does the hard work ahead of time. Every chunk was turned into a vector once; at question time you only embed the question and compare numbers. The price: the model never reads the question and the chunk together. It's matching two summaries.
A reranker does read them together. You give it the question and a list of candidate chunks, and it scores each pair, with the whole question in view. That's more accurate, and much slower per chunk, so you can't run it over your whole library. You run it on a shortlist.