Ryujinx is dead after being contacted by Nintendo, sad day for switch emulation.
After Yuzu got shut down I'm not sure what this leaves people with for switch emulators. I'm going to try and find archives and will update the post when I do.
Emulation specifically is wickedly hard and there's a reason basically every emulator has a team of dozens to hundreds of contributors and is in active development rather than capable of perfect emulation
Eh, it isn't black magic. It's just very labor intensive to nail down the broadest degree of compatibility possible. Requires tons of testing, and eternal vigilance against regressions (i.e. fixing one game breaks another). The fundamental concepts are well documented, and often times already available in generic implementations (CPU emulators / JIT recompilers / OpenGL / Vulkan implementations / compatibility layers, input libraries, etc). A project like WINE (famously not an emulator) is a lot more complex than a virtual machine which just runs the official binary system firmware.
Not to say it is easy, but it is an interesting subject with tons of literature and free software implementations to study. It has a lot of moving parts, but part of doing effective software development is understanding you don't need to roll your own JIT recompiler when llvm and gcc-jit exist. Most contributors will specialize more or less in one thing (cpu architecture / graphics / audio / networking / debugging / reverse engineering / etc).