You can do all the things you mentioned. If you’re a user you can opt to block communities from showing on your feed, although eventually we’re gonna have tags so people can mark SFW, NSFW and political, etc so devs can make clients that filters based on that.
Also if you’re a community owner you can ban people from your sub, you’re in full control of your community.