Yes, this is true. Given the same encoding settings, x.264 gives the best quality. Quicksync is not as good, and nvenc is a bit worse than Quicksync. AMD vce is about the same quality as nvenc.
What you should use depends on your use case. Do you have the CPU power? Then use x.264. Do you want to stream or record locally? For local recording, a hardware encoder might be a good choice, because you can use real high bitrates, so the quality is still good enough for you.
For example, I use Quicksync for local recording and high bitrates around 30000. Almost no CPU overhead, so the game runs very smooth and completely undisturbed by the recording process. But this is not suitable for streaming.