Iterative Search
If at first you don't succeed...
If SearchResults doesn't find any results matching your request, it is smart enough to try again using a slightlty different search, loosening the search criteria.
For example, if it doesn't find John Smith, it tries an OR search for John or Smith. It also does this with phone numbers where there is an area code: if it doesn't find 206-715-2126, it tries * 715-2126 assuming that either you got the area code wrong or entered the number without it.
And since there is no penalty for finding 0 records when searching indexed fields, this is fast.
Alternate Names
SearchResults also runs a name substitution on first names if it doesn't find any results. So if searching for "John Smith" doesn't return any results, the search will also try "Jon Smith". The "database" of similar name matches is contained within one script step so it is easy to expand or customize as you see fit.