Love matrix, but the OP just described the big adoption problem. Non-programmer wants to set it up for his company. How do you do that with a matrix server? Slack makes it pretty damn easy for non-techies to get set up and invite people. Matrix currently does not do that.
It's very possible I'm misunderstanding as well, but when you create a room on the Matrix homeserver, the only option you have is to make it so users on another homeserver cannot join that room, which means your only security is other matrix users not knowing your room name.
For a small corporate team that wants to pilot a chat program, like in the original comment, the gulf between Slack setting up your own private workspace with a few clicks and a room that has all of your chat history exposed to any user that knows the room name is pretty large.
I would love to see riot or matrix give you a few click options to have them host your own private matrix server, as that's a big obstacle for corporate customers who don't have the resources (human) to spin up their own servers (domains, adding ssl certs, adding nginx, etc.) just for trialing a chat program.
This is indeed a massive misunderstanding: rooms in Matrix can either be publicly joinable by default or be invite-only (just like in IRC). There's also a separate question of whether a room is locked to a given server (i.e. made unfederatable), but this is an extreme measure taken if you know the room will contain stuff you never want to ever leave that server. You can now also create communities to group your company/project's rooms together even if you're primarily using someone else's homeserver.
Separately: we're working on providing a "one-click" homeserver hosting option with a free trial precisely of the kind you're asking for.
Like just about any IT service you call your ops team? Slack offers value in being hosted for sure but if you're worried install difficulty then we're in the world of on-prem services. Matrix is easy compared to some paid products I've used.
I've worked for a few small startups and smaller IT teams in larger corps, so the option of "call your ops team" isn't really feasible, so in that sense Slack wins because it's easy enough for the business owners to set it up, send out the email invites, and feel that it's relatively secure. I think Matrix is an all around better option, but just believe that they are missing why small companies or strapped teams pick Slack in the first place.
* https://matrix.org/
* https://riot.im/