Hi there! I wrote FileDiffs, so I feel compelled to answer these questions, but my answer is generic.
There are many ways a plugin can make expose its commands. The most basic is to simply provide the classes and let the user figure it out. Not very helpful, but if the developer is busy, this is all you're gonna get.
Next, and you can provide a .sublime-commands file that will add the commands to the "command palette" (ctrl+shift+P I think). This is good because it provides a place for users to look up the important commands and, hopefully, the argument syntax if the command has some optional arguments. I usually provide these files, and indeed FileDiffs does have one.
Next, you can (but I don't) provide .sublime-keymap files. I frown on providing these, though, because I hold key bindings as "off limits". I like mine, I don't expect you to. However! I always include a file called
Example.sublime-keymap, which can be copied into your keymap file.