[1] A BIOS boot partition is needed on GPT-partitioned storage devices to hold the second stages of GRUB.
On MBR-partitioned disks, boot loaders are usually implemented so the portion of their code stored within the MBR, which cannot hold more than 512 bytes, operates as a first stage that serves primarily to load a more sophisticated second stage, which is, for example, capable of reading and loading an operating system kernel from a file system.
Use of this partition is not the only way BIOS-based boot can be performed while using GPT-partitioned hard drives; however, complex boot loaders such as GRUB 2 cannot fit entirely within the confines of the MBR's 398 to 446 bytes of space, thus they need an ancillary storage space.
The EFI System partition holds a filesystem and files used by the UEFI, while the BIOS boot partition is used in BIOS-based systems and accessed without a filesystem by holding raw binary code.
If created by utilizing that free space, the BIOS boot partition would be out of the GPT alignment specification,[4] but that is not very important since: (a) the alignment rule is "should" and not "must" (b) the rule is based on a performance consideration, which for a very small partition used only at system boot bears no real consequence.