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.
# The ackrc
ack --plugin=Tarball
ack --plugin=PDF
ack --plugin=MP3
# The command line
$ ack --no-plugin=Tarball