Say we have a bib with two 650$a tags, "cheese" and "corn." If we set the 650$a up as a searchable field in item search, our search terms will be compared to the string "cheese corn." That means we end up having to wildcard our search terms in both directions to account for the possibility that they might have a term on either side in the record ("%cheese%" and "%corn%"). This would work better if we compared our search term to each value individually, rather than to the concatenated string of all values.
I am not sure how we could fix this, the ExtractValue is often not helpful as it gives you no way to define separators for multiple fields that would allow parsing.