When a contact clicks on the Preferences link in the email, and there are categories for them to select, whichever categories they currently belong to will be checked by default. This is to help the contact know what newsletter they currently receive.
What happens if a contact unchecks a box?
If a contact wishes to not receive correspondence for a specific category, the contact can uncheck the box and update their records. In the contact's subscription info, it will show that the contact is unsubbed from that category with the date it was unsubbed.
Alternatively, they are more than welcome to check any other unchecked boxes should they like to start receiving newsletters for a different category. It will then show a checked box and the date they updated that preference.
What action proceeds the other? Importing into a category or a contact updating their categories?
Should there be an overlap of a contact unchecking a category, and then that same contact is set to be imported into the same category they are unsubbed from, the category will remain as unsubscribed. So for example, if firstname.lastname@example.org had "Newsletter A" unchecked today, but then an import batch with his email address was imported into "Category A" tomorrow, he would not have the "Newsletter A" rechecked. The only way a contact can go from unsubbed to subscribed for a category again is by the contact updating their preferences (checking the box and updating), or if you recheck the box manually within the contact record in the UI.