All three are form factors that are mainly meant for laptops and other mobile devices due to their small size. They all require a specific slot or adapter (i.e. can't connect mSATA to a regular SATA connector).
mSATA and mPCIe share the same connector and overall PCB layout, but electrically they are different (mSATA is routed to the IO controller, mPCIe to the PCIe controller). Some boards may also have slots that function as both mSATA and mPCIe.
M.2 is the successor of mSATA and uses a different connector (i.e. not compatible with mSATA or mPCIe). Electrically it supports both SATA and PCIe interfaces.
The ASUS Maximus VI Formula is a unique motherboard in the sense that it supports M.2, which is rare at this point. However, it's limited to just one PCIe 2.0 lane (500MB/s) and is hence slower than SATA 6Gbps. It also has an mPCIe slot, although mPCIe SSDs are quite hard to find.
To be honest, currently there is no point in using something else than 2.5" SATA SSDs in a desktop build.