The man who I thought was very nice was actually mean.
目的格であるwhomに代わって主格であるはずのwhoが代用されるケースは、特に口語ではよくあります。
I know the woman who(m) you met at the cafe.
「君が昨日そのカフェで会った女性を僕は知ってるよ」
(who(m)はmetの目的語ですね。)
目的格としてのwhoは、あまりにも広く一般に使われるためすでに半正式くらいには許容されており、参考書などでも「whomの代わりにwhoでも可」などと説明されています。
ただし目的格は正式にはやはりwhomであり、Keisuke Tamoriさんの仰るように本や論文などでwhomがよく見受けられるのは、あくまで本来の使い方に則って関係代名詞を使おうという姿勢の表れのためです。
ではどうして口語ではwhoが用いられることが多いかというと、英文の語順構造にその理由があります。
英語は左から右へ向かって文章が流れていきますね。
語順の基本はSV+OやCですから、話し手としては、Sを登場させたら次はV、そしてその後にOやCを置くという原理をほとんど無意識に発話に取り入れています。
I know the woman who(m) you met at the cafe.を見てみると、先行詞the womanとこれを受ける関係代名詞whomはOで、you metがSVですね。
つまり、関係代名詞節の文構造がOSVとなっているわけです。
しかし、先に述べたように英語話者の心理にはSVで始まる語順が強く刷り込まれています。
別の言い方をすれば、「述語動詞Vよりも前(左側)は、主語の領域」だと思い込んでいるのです。
ですから、the womanと発話した段階で、これが節の述語動詞metよりも左側にあるために、ついこれを無意識に主語のように考えてしまい、つられて主格のwhoを置いてしまう、ということです。
you met the womanのように、metの直後に目的語womanが置かれていれば分かり易いのですが、関係代名詞を用いた文章では、その性質上どうしても目的語が先に置かれざるを得ません。この語順転倒がある意味で混乱を引き起こして、本来は正しくはないはずのwhoを使わせてしまっているというわけです。
一方、I have three cousins, all of whom are nurses.「私には3人の従妹がいて、その全員が看護師だ」のように、前置詞を伴う場合には必ずwhomが用いられます。
これは単純に「前置詞の直後はその目的語」という原理に忠実に従っているだけです。
「前置詞+目的語」という当然の理屈の前では、先のOSVのような語順転倒による混乱が起こりません。
だから普通に目的格のwhomを当然のごとく置くだけ、ということです。
The man who I thought was very nice was actually mean.
「とてもいい人だと思ったその男性は、実はいじわるだった」
このようにI thinkなどの従属節を伴うもの(これを連鎖関係代名詞節と言います)については、Keisuke Tamoriさんの仰る通り、挿入的な扱いを受けます。
つまり上の例文では、I thoughtを取り外してやると単に主格の関係代名詞として用いるのと同じ扱いをすることができるため、主格whoを使うわけです。
ただし、このwhoについても、結局は「述語動詞の左側は主語の領域」、という認識と無関係ではないでしょう。
最後に、who(m)/whichとthatの区別についてです。
who(m)/whichが疑問詞に由来しているのに対して、thatは指示代名詞に由来しています。
I have a friend who is a doctor.
「僕には医者の友達がいるんだ」
この文では、まず「僕には友達がいる」と述べた上で、「それが一体誰なのか?」という疑問的要素を解消するためにwhoを用いて「医者である」と説明を加えています。
聞き手としては、いきなり「友人」と言われても誰のことか分かりませんから、そこに疑問詞との意味的関連性が生じ、疑問詞由来のwhoが馴染みやすいのです。
人以外が先行詞である場合も、whichの持つ「どれ?」というニュアンスをくみ取って先行詞を相手に説明する響きが感じられます。
一方、
He is the only friend that I can really trust.
「彼は僕が本当に信頼できる唯一の友人だ」
のように、特にonlyや最上級などの限定的な意味を持つ表現が伴う文についてはthatが用いられます。
指示代名詞に由来するthatは「まさにそれ」を表し、「唯一」とか「最上」のように他の存在を認めないような限定的表現との相性が良いからです。
もちろん、限定的要素の無い文でもthatは用いられますが、やはりwho(m)やwhichと比べると、話者の「まさにそれというのは~」のようなthatの持つ指示的ニュアンスを感じさせます。
こうしてみると、英語の成り立ちは単なる無味乾燥な文法ルールによって決められるものなどでは決してなく、言葉を操る「人間の心理の産物」だということがよく分かりますね。
ここで述べたことは言語学の分野ではよく言われていることですが、ネイティブスピーカーの中には、whoもwhomも、あるいはthatを使った場合も大差はないと感じる人もいるでしょう。
文章によっては、私もいずれの場合も大差なく、問題もなく使うことができると感じることも少なくありません。
ただ、だからと言って中学3年生に何でもかんでもとりあえずthatが置き換えられるかのように教えてしまうのは乱暴なことだと思います。
ずいぶんと長い解説となってしまいましたが、ご参考になれば幸いです。