It’s a good idea to look at the more elaborate Underscore.js documentation, from which this distinction is derived. It states:
Collection functions work on arrays, objects, and array-like objects such as
arguments, NodeList and similar. But it works by duck-typing, so avoid passing objects with a numericlengthproperty.
Basically, “collections” are things that implement some kind of “iterable” interface, and they internally use the same iteration method (though Lodash source is a bit more convoluted than Underscore). All the “collection methods” do work both on arrays and objects (and a few more iterable things), while the array methods should only be used on arrays (or maybe everything with .length and numeric indices), and the object methods work on any objects.