M.2 is the physical form factor.SATA and PCIe refer to the storage interface, the primary difference is performance and the protocol (language) spoken by the M.2 SSD.

 

The M.2 spec was designed to accommodate both a SATA and PCIe interface for SSDs.M.2 SATA SSDs will use the same controller currently on typical 2.5 in SATA SSDs.M.2 PCIe SSDs will use a controller specifically designed to support the PCIe protocol. An M.2 SSD can only support one protocol, but some systems have M.2 sockets that can support either SATA or PCIe.