I had a very similar situation when I first started streaming, although at the time I did not immediately realize that something was wrong with my microphone setup. The audio was not perfect, but it was not bad enough to clearly point to a technical issue, so I assumed everything was working more or less as expected.
Part of the reason was the type of content I was creating. I was testing online casino games and bonus features from the games listed on
https://somagyarkaszinok.com/befizetes-nelkuli-bonusz/. Most viewers were mainly interested in the gambling gameplay itself, watching how the slots behaved and how the bonus rounds played out. The in game sound was clean and consistent, and since the audience focus was on the game mechanics rather than my commentary, the quality of my voice did not seem like a top priority at first.
Still, something about the sound always felt wrong. It was very roomy, with noticeable background noise and keyboard clicks. I was convinced the issue had to be my hardware. I was using a Shure SM58 connected via an XLR cable to a basic USB audio interface and then into my laptop. I checked the cables several times and even swapped the mic cable, but nothing improved.
In the end, the problem was not the microphone or the cable at all. It turned out that OBS and the operating system were actually using the built in microphone of the laptop the whole time instead of the USB audio interface. That explained why the sound never changed no matter what I adjusted on the hardware side. The external microphone and cable were working perfectly, they were just never selected as the active input source.
Everything started working properly only after I manually selected the USB audio interface as the audio input both in the system settings and inside OBS. The difference was immediate. My voice became clean, clear, and consistent. Since then, I always double check which audio input is actually being used, especially in situations where voice quality does not seem critical at first, because if the system does not clearly detect a valid external input, it will often fall back to the built in microphone.