The short answer
Keyword search matches words. Semantic search matches meaning. Each fails where the other succeeds: keyword search cannot connect "forgot my login" to "password reset", and semantic search struggles with exact identifiers like a SKU or an error code. Production systems usually run both and merge the results.
What each is good at
Keyword search
- Exact matches: product codes, error strings, names, IDs.
- Predictable, debuggable, and cheap.
Semantic search
- Natural-language questions where the user's words differ from your content's words.
- Concepts and paraphrase, which keyword search cannot reach.
Why hybrid wins
Running both and combining the rankings covers each one's blind spot. A user searching an exact error code gets the exact document; a user describing a problem in their own words gets the relevant one. Choosing only semantic search because it is the newer technology is how teams end up unable to find a product by its own SKU.
The prerequisite nobody mentions
Both approaches are limited by content quality. If your documentation does not answer the question, no retrieval method will find the answer in it. Search projects frequently surface a content problem rather than solve a search problem.