CSSのwhite-spaceの使い方:pre、wrap、nowrapなどの違いは?

改行や半角スペースの扱いを決めるCSSのwhite-spaceについて分かりやすく解説します。preやpre-wrap、nowrapはどのように使い分ければ良いでしょうか。