

There is a theory in UX that says that it is a bad design when it violates the users expectations of how they think it should work. In this case, the interface may not be clear enough about what you’re actually typing. You’re not typing WYSIWYG text, as you stated in your edit, you are in fact typing source code, or more specifically: markup, in a language punningly called Markdown.
Some of the confusion in the other replies come from your use of the term Carriage Return (CR) which has a very specific meaning to programmers and does not refer to the Return/Enter key. I won’t go into that more here, since that’s another tangent.
Anyway, Markdown is designed to be a lightweight markup language, so you can focus mostly on content and apply light formatting where needed for emphasis or bolding. As such, it’s a good fit for online comments, provided the users are familiar with it, or enough contextual help is available.
Part of Markdown is that it needs two line breaks or two spaces at the end of a line to introduce a forced line break. This is just a choice the creators made of how things should work in Markdown (more on that below). In HTML, for example, you would use <br> instead.
To your question as to why go through that trouble and not just use the newline characters as-is, the most likely reason people prefer it is text editors. By allowing you to break up long passages of text with single line breaks, you don’t need to rely on the editor’s word-wrap function to keep the full lines visible in your editor.
Markdown is mostly authored more like source code than prose. Moreover, as it is “code”, it may be subject to automated reformatting that could impose its own line-length rules, etc. and that would ruin the formatting. This often results in long lines being wrapped twice: at the intended point and the forced breakpoint and it looks terrible.
The original Markdown spec by John Gruber explains it like this:
Paragraphs and Line Breaks
A paragraph is simply one or more consecutive lines of text, separated by one or more blank lines. (A blank line is any line that looks like a blank line — a line containing nothing but spaces or tabs is considered blank.) Normal paragraphs should not be indented with spaces or tabs.
The implication of the “one or more consecutive lines of text” rule is that Markdown supports “hard-wrapped” text paragraphs. This differs significantly from most other text-to-HTML formatters (including Movable Type’s “Convert Line Breaks” option) which translate every line break character in a paragraph into a <br /> tag.
When you do want to insert a <br /> break tag using Markdown, you end a line with two or more spaces, then type return.
Yes, this takes a tad more effort to create a <br />, but a simplistic “every line break is a <br />” rule wouldn’t work for Markdown. Markdown’s email-style blockquoting and multi-paragraph list items work best — and look better — when you format them with hard breaks.
You can argue that that makes it not a good fit for online comment editing, and I would say you have a great point, but it’s also very popular and works well for the most common cases. (Especially with programmers because it has many nice features for us.)
Many web apps do allow you to switch between HTML content editing mode (WYSIWYG) and Markdown. I imagine the reason why not more apps do it is just because it’s more code to write, test, and maintain.
I usually recommend people learn more about Markdown to avoid being frustrated by the quirks, and maybe even find some handy tricks they didn’t already know. On the other side of the screen, as developers, we need to keep in mind that not everyone knows Markdown, and we need to make sure it’s obvious to users what it is they are editing and where to find information about it.







Great comment! Loved the flashbacks it gave me.
Just wanted to add some context to the quoted part of your comment:
A lot of people didn’t know how to download things, sure, but another barrier was most people were on dial-up. It would take a long time, sometimes on expensive calls, to download software. And getting disconnected often meant starting over.
Even if you didn’t mind downloading, it was unusual enough at the time that a lot of people probably just felt safer buying the disk from a retail store. It’s tangible. So people would get software either off the shelf at the store, or free as part of another purchase.
For example, when I worked for ISPs in the late 90s, we gave every customer a floppy or CD with a dialer and a browser. One popular one among ISPs was the Netscape dialer + browser bundle that we could customize and lock down the settings we wanted, like DNS, proxy, POP phone numbers. I remember we charged $19.95/mo for dial-up in 1998, but at least you got free email and a homepage so you could put up HTML pages with animated GIFs!
Early on there were many different browsers, too. Some based on Mosaic, some independent (e.g. Opera). Netscape eventually became the most common one. I think IE may have been based on Spyglass Mosaic. Microsoft definitively felt threatened by the idea that the web and Java (applets!) could make their entire golden goose, Windows, obsolete. Write Once Run Anywhere was an existential threat to them. So, eventually they ripped out the Microsoft Network (forerunner to MSN) and put Internet on Windows instead. It took them a while, though. And that was only in Windows 95. We were using the WWW before that. (Trumpet Winsock anyone?)
Sorry for going on an old-man rant. This triggered some really crusty memories.