Zulip has easily the best threading model among all the chat applications and I prefer it over Slack, Mattermost, RocketChat, Hipchat, Discord etc. Each and every conversation is a seperate thread and has a topic. This model makes it extremely easier to catch up and participate in conversations. Once you get used to the threading model of Zulip its hard to tolerate threading model like Slack which is really inefficient and time wasting.
I use Zulip because of the threading model i.e. having topics inside a channel makes it easy to catch up to topics and keeps your organisation's chat well organised.
1.) Having topics inside a channels ensures that you can have multiple conversations in the same channel at the same time.
For e.g. Imagine a chat system with no topics and only channels. A real-time conversation about say an expensive migration is going in the
#backend channel. But you have a question about how the push notifications work in the project. In that case you will either hesitate to post your question (which would be the mostly likely outcome if you're a new member especially) or you would interrupt/disturb the ongoing conversation and both of the conversations would go on in parallel in the same stream in a convoluted and incoherent manner.
Having topics inside channels in Zulip in the above situation allows you to just create a new topic inside the
#backend channel and initiate your conversation there without worrying about the other conversations happening in the same channel at the same time.
2.) Having topics defined for each conversation makes you finding old conversations more convenient and faster. In a chat system with no topics inside channels, you would have to search the entire text content with the exact text that you typed say maybe 6 months ago which you may or may not remember exactly as is.
While just having a look at the topic list in Zulip chat in the above case would return you the conversation about the topic you were looking for without searching the entire text. This makes searching easier and faster. Please do note that a search across the entire text is also much faster in Zulip than its competitors like slack.
3.) Each conversation is linkable which is super convenient i.e. you can get a link to a conversation like https://chat.zulip.org/#narrow/stream/7-test-here/subject/My.20Test.20Topic/near/666741 and share it.
4.) The topic list for a channel in Zulip also acts as a summary of the conversations that happened in the channel. For a person who has been inactive in an organization for a long time, the topic list make its easier to catch up to your messages missed in the past.
I use Zulip because I love how it lets me focus on my work, and doesn't need me to be constantly online to be able to participate in conversations that matter to me. Zulip's topics make it super easy to get an overview of all the conversations that happened while I was away, and pick and choose the conversations that I want to catch-up with. Slack 's threads seem like an after-thought and aren't effective for catching-up at all!
I also love the Zulip community, and the care and effort put in by the members to make it a friendly and welcoming community to new developers, and to make the contribution experience pleasant for all the contributors.
I use Zulip because it has let us build our community, and scaled with us. Our open community has 1000s of members and I cannot imagine what other IM software would begin to support us. In particular, the stream/topic model has let us scale further, along with seamless signup, multi-platform availability, and the right prices. Also, because the development team is so active and fixes issues in a timely fashion.