tl;dr: if your main use case is gaming, get this one.
I'd say depends. I have a 7950X3D and some games can absolutely saturate the 3D cache CCD on their own. If you then have anything a little more intensive running in the background, the performance of the game will heavily degrade on a 7800X3D/9800X3D, while the 7950X3D/9950X3D has a whole CCD more to handle such tasks. Just keep in mind that the game process needs to be pinned to the X3D CCD for optimal results (which under Windows Game Bar usually does fine, but not always; under Linux you can use Feral GameMode).
So for most people, the 9800X3D will be a great choice (depending on actual pricing of course). Lighter tasks such as music playback or Discord with Krisp noise suppression can easily run on the same CCD and you'd be hard pressed to notice a difference in performance. But if you stream with software encoding for whatever reason or use demanding OBS plugins or whatever else you might want to do while gaming, then the 7950X3D will absolutely outperform the 7800X3D in games.
And obviously for heavily threaded productivity work outside of gaming, the 7950X3D can be 2x as fast. The 8-core parts aren't exactly slow though.
Another advantage of the single CCD parts (7800X3D/9800X3D) is the fact that it "just works". As I said, game processes need to be pinned to the X3D CCD to properly take advantage of it, and while this works automatically most of the time (with Xbox Game Bar), it doesn't work for some titles, requiring you to manually pin the process. This is also why a lot of gaming benchmarks have the 7800X3D above the 7950X3D, even though the 7950X3D has a higher binned X3D CCD. With proper manual adjustment, a 7950X3D will outperform a 7800X3D in gaming.
I do wonder whether the 9950X3D will have both CCDs with 3D cache now that the frequency issues are at least partially resolved. If the CPU scheduler avoids putting threads of the same process on cores of different CCDs, this process pinning would no longer be necessary.
Yeah...not going to happen.