Any of them

The right choice for colour, size and brand. A shopper who ticks Red and Blue wants to see red things and blue things. In the address that is query_type_color=or, which is also what WooCommerce assumes when nothing is written.

All of them

The right choice for features a product can have several of: a jacket that is both waterproof and hooded. Ticking two values then narrows the list instead of widening it. In the address it is query_type_color=and.

Does your filter count the parent?

Change which variation is sold out and see the two ways of counting side by side. Nothing you type leaves this page.

What happens to the numbers

The two logics need different counts, and getting them wrong is a common reason numbers disagree with lists. In an any filter, a value is counted without that filter’s own choice: with Red ticked, Blue shows how many products you would see if you ticked Blue as well, which is more than are blue and red at once. In an all filter, a value is counted with the choice included, because every tick narrows the list and Blue then shows how many red-and-blue products there are.

Categories, tags and brands are always any-of, and a chosen category includes its subcategories. Price is a range. The any-or-all choice belongs to attributes only, which is where it matters.

Changing it later

Change the logic in the set editor and save. Addresses already shared still work, because query_type_* is written into them when a shopper chooses, and an address without it is read as or.