With the sample data:
bus
school
house
Testing the data against your criteria:
Is "bus" equal to *bus* OR *scho* OR *indep* -- TRUE
Is "scho" equal to *bus* OR *scho* OR *indep* -- TRUE
Is "house" equal to *bus* OR *scho* OR *indep* -- FALSE
Since you used the OR operator, and "bus" meets at least one of the
criteria, it passes through the filter.
When you add the <> (does not equal) operator:
Is "bus" not equal to *bus* -- FALSE
OR not equal to *scho* -- TRUE
OR not equal to *indep* -- TRUE
Since you used the OR operator, and "bus" meets at least one of the
criteria, it passes through the filter.
If you use the AND operator, "bus" must meet all the criteria, and not
equal any of the items in the list. It doesn't meet all the criteria, so
would not pass through the filter.