The --plugin=X option tells ack to load a plugin called App::Ack::Plugin::X, and to search files that the plugin knows about.
The opposite, --no-plugin=X specifically tells ack not to use the plugin App::Ack::Plugin::X. This allows you to disable a plugin loaded in an ackrc file.
--available-plugins searches for App::Ack::Plugin:: modules installed in the search path and displays a list to the user. It will show what file loaded it, too.
The first thing loading a plugin does is add a filetype that ack knows about. For instance, loading the JPEG plugin may now mean that ack recognizes .jpeg and .jpg extensions.
Loading a plugin
# The ackrc ack --plugin=Tarball ack --plugin=PDF ack --plugin=MP3 # The command line $ ack --no-plugin=Tarball