You can edit an individual contact's campaigns and prevent them from being added even though they fit the criteria.
Click on the contact in the Contact view
Click the arrow in the top-right corner
Choose "Campaigns"
Disable the campaigns you want to remove the contact from
It is also possible to add an action to your campaign which removes a contact from that or another campaign automatically, whenever that contact meets some condition/action
When creating campaigns, it is a good practice to add an action that resubscribes any contacts who were previously unsubscribed. This is so that in the event that contact fills a form or takes any action which indicates they want to be contacted again by you, they will be added back to your contact list.
How to remove the 'Unsubscribed' Status from Contacts in your Campaigns
Make sure the campaign is published. It needs to be active to be able to send out the email and do the actions you've set. Set Published to "Yes" and then click "Save & Close" (see screenshot below). Once a contact has entered a campaign it might take up to 20 min for the email to be sent.
If a contact going through a campaign is checked for two or more conditions and meets the criteria in all of them, then they will go through each condition branch of the campaign and the associated actions.
For example, in the campaign shown below, if a contact chooses to attend both the 'April' and 'May' webinars, then the actions in both branches will run and they'll get a tag for each webinar.
Here are the standard criteria you can select from:
But you can be much more advanced than this. By using list rules, you can get as granular as you wish and remove contacts from automations based on for example based on contact tags, list memberships, fields, and much more.