fset sets a symbol's function definition.
Here, projectile-command-map is used as a prefix command. A prefix command is a symbol whose function definition is a keymap.
The definition of a prefix key is usually the keymap to use for looking up the following event. The definition can also be a Lisp symbol whose function definition is the following keymap; the effect is the same, but it provides a command name for the prefix key that can be used as a description of what the prefix key is for.
This can also be done with define-prefix-command.
What's a bit confusing here is that the same symbol, projectile-command-map, is being used for two purposes:
- As a keymap
- As a prefix command
Another example may be clearer:
(fset 'help-command help-map)
Here, help-command is clearly a prefix command, while help-map is a keymap.