When to drop/keep or re-group before experimental.join()

Looking at the documentation of experimental.join(): experimental.join() function | Flux 0.x Documentation.
In the beginning it states

To join streams of tables with different fields or measurements, use group() or drop()

The example “Join two streams of tables” uses two streams with different measurements, but has no group.
The example " Join two streams of tables with different fields and measurements" has streams which differ in measurement and field, and uses group.

So the introduction says or, but the examples tell me and,
What is true ?
My tests show that it is wise to use keep and group(), and group(....) rigorously to get proper results.