Why is an example necessary given the clarity of the manual
description. The first sentence of both sections fully defines the
meaning:
-data string
Specifies the contents of the source bitmap as a string.
-file name
name gives the name of a file whose contents define the
source bitmap.
-data is used when you already have the bitmap image contents in a string.
-file is used when the bitmap image contents are stored in a file on
the filesystem.
The utility of the -data option is you can specify a static string such
that the image content is actually part of the source code of the
program, so no external storage files for the images are necessary in
this instance.
Or, presuming you wanted to create the bitmap source data at runtime,
you could generate an approprate string, then use the -data option to
consume the string and display the resulting image. So no need then to
spit the data out to a temporary file to reread it back in via the
-file option.