'ON HOLD' means "This e-mail address definitely doesn't work." It's set automatically by CiviMail when a message bounces due to an Invalid Address error. If you get a working address, you're free to contact this person.
'Do Not E-mail' means "This person has asked to not be contacted by e-mail as a matter of privacy." This might be set my a human administrator. You're not necessarily violating the federal CAN-SPAM act if you e-mail this person; you're probably just annoying them.
There's also a third field: 'User Opt-Out' which means "This person has intentionally used an online process to be excluded from all Mailing Groups." Usually a human administrator should not set or unset this box. If you bulk e-mail this person without their explicit permission, you're almost definitely violating CAN-SPAM. The system won't ever let you do this accidentally.