This is because of how you can program the pasteboard on Mac OS X.
Text editors expect the pasteboard to contain, well, text data. There are however several kinds of text: there's plain text, there's formatted (RTF) text, there's formatted text with embedded documents (RTFD), there's HTML-formatted text, and a bunch of others.
When you copy something, the application tells the pasteboard how this data can be represented. There are usually several suitable representations: for instance, copying your question exports data in the pasteboard that can be represented as a web archive, RTF data, and plain text in three different encodings. Plenty of types that applications are likely to support.
However, when you copy a mail from Mail, it exports only as two types of data: plain UTF-8 text and a RTFD document. Cocoa tries to paste as an RTFD document because it likes them better, but applications say "no no, I can't do that"; they usually support getting text from RTF, but not from RTFD since RTFD usually has embedded resources such as images, and you end up pasting nothing because the apps don't bother to look for the plain text data.
TextEdit, on its side, is able to edit RTFD documents, so it has no problem pasting the data.