I did try something like this once just for the challenge in 2010. News of current disasters hidden in 1st Monasterians (download code) contains a reformatted version of a piece of text written by someone else years ago, together with code to extract a hidden message from it.
I chose this specific older text because it is one of the highest voted posts on PerlMonks, so it was recognizable by at least the regular visitors of the site, and was also over eight years old at the time.
The goal in this case wasn't to hide information, but to parody people who purport to find hidden messages in old sacred texts. The same technique would still work if you wanted to hide information, though obviously in that case you wouldn't publish the decoding program together with the text.
The secret message is hidden in the number of spaces between the adjacent words of the text. To make this naturally variable, I made the text pre-formatted as two justified narrow columns. (The original post also has the text formatted to two columns, but there it's not pre-formatted but wrapped on client side.) As the text is justified, that is, stretched to the full length of a line, I have to distribute a number of spaces approximately equally between the words of the line. Where the number of words minus one does not divide the number of spaces to distribute, I have freedom to put one more space between certain words, and can use that choice to encode information. I also have some freedom to choose where I break lines, and used this freedom to ensure that I get the chance to hide information in this way somewhat more often than what you'd get from the most convenient line breaks, but tried not to make it look so uneven as to look suspicious. This method allows hiding only a very small amount of information: here I hide 7 words in a 420 word long text.
The technique isn't perfect, you could do it more professionally. But I made this 10 years ago, and didn't want the decoder to be too long, so you can probably excuse that.
That said, I think hiding information in plain text is rarely useful on the internet. There's always so much metadata exchanged that it's almost always easier to hide data invisibly. You mention email conversations; I get HTML emails at work pretty regularly, they look innocuous and it's easier to hide anything in them then in plain text.