The prefix non is usually hyphenated in British, Australian, and Canadian English. In American English, it can be written either as one word or with a hyphen (nonprofit or non-profit).
Prefixes are sometimes hyphenated to avoid confusion with the unhyphenated word: re-cover means to cover again and recover means to regain.
Any prefix should be hyphenated when used with a proper noun (pre-Civil War, mid-December) or date (post-1990s).
Suffixes are never hyphenated, though some words act like a suffix and should use a hyphen. These include elect (mayor-elect Smith), free (sugar-free cookies), and odd (twenty-odd examples).
Incorrect Don is self employed.
Correct Don is self-employed.
Incorrect The ex mayor will speak on Friday.
Correct The ex-mayor will speak on Friday.
British/Canadian/Australian: This non-profit organization collects clothing for disaster victims.
American: This nonprofit organization collects clothing for disaster victims.