First off, m.2 is a connector type/form factor. Its not a type of SSD flash. Alternatively you've got 2.5" or PCIe connectors (like the Intel 750).
For SSD interfaces you've got SATA or PCIe. The SATA interface maxes at 6GB/s and the PCIe interface depends if its v2 or v3 and how many lanes are allocated to the interface (x2, x4, etc up to x16). Typical versions today are capable of PCIe v3 (around 900MB/s per lane) and x4 lanes, totaling around 3600MB/s of throughput at the motherboard.
NVMe is a protocol, like AHCI or IDE. The beauty of NVMe is its super low latency and the incredible level of IOPS its capable of, which is also where you get your real world app gains.
Your actual SSD flash will utilize MLC or TLC NAND (for 99% of cases these days). Then there's 3d NAND which basically stacks NAND (TLC typically) to provide more capacity in traditional form factors.
Your motherboard has one m.2 connector that supports PCIe (NVMe) SSDs and another m.2 connector that only supports SATA type SSDs.
If you are going to use a SATA SSD (Samsung 850 evo for instance) you could buy it in a 2.5" form factor and connect it to a SATA port on your mobo or you could buy the m.2 version of the 850 evo and connect it to your 2nd m.2 slot on your motherboard (which will disable your SATA3_3 port). Either way that SSD will perform the exact same.
If you wanted to spend a little more $$ you can buy a PCIe NVMe SSD, like the 950 EVO and connect it to your first m.2 slot and it'll be 3-4 times faster than the SATA 850 EVO would be.