File formats for many data types are well defined by either standards bodies or corporate sponsors. On the other hand, stream formats are less well defined, so even if the destination program receives the data, it may not be able to decode it. Software to parse files is widely available. File format converters are also widely available. Software to parse memory buffers is less widely available and often more difficult to use.
Programs are often only interested in files.
Since X is a networked window system, there is a chance that the source and destination programs are running on different computers and thus will not be able to directly access the same file name spaces. Destination programs can use this to try to access files on remote machines. Names without this suffix are data streams. We only provided stream targets for data formats that have well defined stream formats. These may not be the same as simply reading the bits read out of the file.