io_uring is a fantastic development for the kernel, and I really can't praise it enough.
However, there's still lots of reasons to use SPDK. Performance is still significantly better[0], and you can directly access all the of the NVMe features on the device without going through any abstraction layers.