Typically because you are trying to play media with codecs that aren't supported by your browser, and transcoding is either not working or working suboptimally. Native clients (like MPV, VLC, or the desktop app) tend to have better codec support and support decoding the native media stream directly.
Some people work around this by making sure they only store supported codecs, either by being selective with media or offline transcoding (which can be instrumented with software like https://github.com/HaveAGitGat/Tdarr).
There's nothing "magic" here. Your options regardless of software are inherently:
1. Make sure to only store and stream supported media (as explained above)
2. Do the decoding and playback in a capable client (like mentioned above you can make it fairly seamlessly with the web client together with jellyfin-mpv-shim)
3. Live transcoding (may require tweaking drivers and codecs on your server; significantly increases server hardware requirements and load)
The above linked github issue seems to be about problems playing back SRT subtitle formats which are not supported by browsers, so there is still subtitle 'transcoding' going on.