By themselves, stages do not affect the way you communicate with a prospect. Marking a prospect's stage as "Do Not Contact" will not block you from communicating with that prospect, it only helps you manage your prospects.
Stages are there purely to help you keep your prospects organized, as opposed to starting/canceling communication with the prospect. Here is some more information on stages.
If you wish for stage changes to effect communication, you may want to consider setting up a trigger.
If you want to ensure you don't communicate with somebody ever again, you will need them to opt out, either by unsubscribing from your emails or by manually opting them out. In order to manually opt somebody out, you can follow these steps.
If you want a particular prospect to be finished in any active sequences, but still allow them to be communicated with in the future, you'll want to mark them as finished.