with_terms has quite a lot more functionality...

$operator, $nesting_level, you can also pass an array instead of a single method.

And I think it will be easier to test the actual SQL that has been generated.