"Contains" matches on partial words, e.g. if you select
Keywords contains lon it will pick images with the keywords
alone. If you use multiple strings to match with, e.g.
Keywords contains lon, lac then it would match images where any keyword contains a part of either string.
"Contains all" will match on multiple partial words, e.g.
Keywords contains all lon, der would match images which contain both the keywords
wander and also
derby, or even one with the keyword 'londonderry' (a single keyword which contains both strings). An image would have to contain matches with BOTH strings to be selected.
"Contains the words" only matches on whole words. So you would need to use
Keywords contains the words london to get matches with images containing the keyword
london - i.e. the whole keyword has to be matched, not just part of it. As with "contains all", "contains the words" requires ALL the listed words to be present, not just any one of them.
To match on keywords containing spaces, use "Contains the words" and just enter the keyword (without quotes) as two separate words. Commas are used to separate individual keywords, so
Contains the words london bridge would match on the two-word keyword
london bridge but not
bridge (or both) on their own as separate keywords.