Thunderbolt can run across DisplayPort and now both can run over USB-C. M.2 NGFF sockets can run mSATA, PCIe SSDs (either in AHCI or NVME), but not every M.2 or mini-PCIe Wi-Fi card will work in every laptop because of blacklisting (wtf?) even though they both attach to the exact same PCIe bus. Some M.2 sockets are only mSATA and can't take pcie/nvme drives. I'm pretty sure any M.2 drive can attach to the mSATA controller via an mPCIe adapter, but I'm willing to be there are some board that don't support that.
Why the hell are we doing multiple protocols on the same wire? It's beyond confusing. I thought with USB3.1, at least there'd be a universal cable, and I didn't realize until reading this article that the cables themselves are different per protocol!
I agree with what the writer is getting at. This is really confusing and it all feels like weird questionable design decisions.