An Application Binary Interface (ABI) is a collection of Fragments which specify how to interact with various components of a Contract.
An Interface helps organize Fragments by type as well as provides the functionality required to encode, decode and work with each component.
Most developers will not require this low-level access to encoding and decoding the binary data on the network and will most likely use a Contract which provides a more convenient interface. Some framework, tool developers or developers using advanced techniques may find these classes and utilities useful.
The Application Binary Interface (ABI) is directly imported from the The Ethers Project. The complete documentation can be found in the official ethers docs.