We tried Zulip a couple times and ended up setting up a Matrix server when Slack became unbearable. The advantages of being able to federate with other channels is high, like almost everyone I have severe channel overload and I want an application which will be open all the time to reach as many people as possible.
It's almost coincidence, though, both Zulip and Matrix became 'good enough' around the same time, and we actually tried to move to Zulip at one point, which I think hardened opinions. I do like the semi-threaded approach Zulip takes, just not as much as I like even the possibility of a future where I can use Matrix for as much as possible.
> I do like the semi-threaded approach Zulip takes
Interestingly I think of Zulip as the fully threaded approach, and Slack/Discord etc. as the semi-threaded approach (because it's optional). The only other "fully" threaded approach I know of is MS Teams (in the Team) - each conversation is a thread (and the fact that people don't realise this is an indication of how good the UX is).
It's almost coincidence, though, both Zulip and Matrix became 'good enough' around the same time, and we actually tried to move to Zulip at one point, which I think hardened opinions. I do like the semi-threaded approach Zulip takes, just not as much as I like even the possibility of a future where I can use Matrix for as much as possible.