I make a point to not debate in chat environments like Discord, although if I get cornered into a situation I didn't foresee, I can end up doing it.
There's no record of the conversation. (Technically there is on Discord, but not realistically.) I can spend an hour typing passionate and intelligent defenses of good ideas, but only a few people will read them, and once the conversation is over, my investment fades to dust. On Reddit, my arguments stay up to be found by others until the post gets very old, and even then I could link to it if something particularly interesting was said, and the link can be followed without a server invite.
There's no defined point at which the conversation ends. People leave and enter the conversation at different points, and I'm never sure when I can safely leave. If I leave too early, someone might post arguments after that that I would've really wanted to respond to, and I never know what people ended up saying or thinking after I left.
I also can't take a break from the conversation like I can on Reddit, because if I do there's no real way to get caught up when I come back (since there's no record).
Chat environments are linear. Tree conversation structures like Reddit (and this website's comments) are thoroughly superior to this for debates (as well as for most things); in a linear structure, it's hard to keep track of what arguments have been answered and which are pending. This makes it easy for anyone to ignore their opponent's strongest points and quibble over the weaker ones instead. You also often have to "@" people to make it clear who you're talking to or prefix things with "Re:" (or use a quote feature if the chat has it), and it sounds awkward.