This is useful in two cases.
kbd.o command.o files.o: command.h
bigoutput littleoutput : text.g
This input is equivalent to the next example.
Suppose you would like to vary the dependencies according to the target, much as the variable ‘$@’ allows you to vary the commands. You cannot do this with multiple targets in an ordinary rule, but you can do it with a static pattern rule. See Static pattern rules.