Since no one is stepping up to answer this, I'll say a few words {\em as a user}.
I count on
gens gb I
to give me a minimal, reduced Gr\"obner basis for the ideal I
relative to the monomial ordering on the ring R of which I is an ideal
(that probably being the active ring when I was defined).
[This is different from Singular, wherein one needs option(redSB) to get a minimal, reduced GB.)
I don't know why this works on an input ideal and gives an output matrix,
other than that it also works with an input matrix
gens gb M
again giving an output matrix,
for working with modules rather than ideals.
(In this context, you have to sort through what MonomialOrder means, since
this is set up to allow various term/position or position/over term orders, which are viewed as part of the ring monomial order rather than the module monomial order in the sense that they are part of the definition of the ring. For me the Schreyer monomial
ordering is almost what I want, given that my modules are almost always ideals viewed as modules.)
As to the algorithm, one would hope that a signature-based algorithm would be used these days (as seems to be what is to be happening in Singular),
but the gbTrace page in the documentation doesn't necessarily suggest any recent changes.
[Of course I doubt that much of the documentation gets updated appropriately, and I have no idea where to look for the gb algorithm code itself. I was hoping someone who knew would be answering this instead of me.]
(These signature schemes are better than a generic Buchberger algorithm unless one specifically wants the syzygies of the output GB, in that they work as syzygy algorithms on the input generators.)
Doug