Posting without registration has a lot of disadvantages:
Every once in a while, an unregistered user loses his account cookie after posting a question. This prevents him from editing his question, commenting on existing answers or accepting an answer.
The result are abandoned questions, suggested edits to one's own question, comments posted as answers and – ultimately – a diminished user experience.
There are ways to overcome this, but new users often struggle with the site's simplest functionalities.
Unregistered accounts with less than 50 rep get hard-deleted after six month of inactivity. (source)
This could make it impossible for a user to act on late answers to (good) questions.
Since the account is hard-deleted, not even flagging for Mod attention will help here.
I don't know how much valuable answers come from unregistered accounts (going through the list of all unregistered users, there only seem to be a few besides John Carmack), but sampling my helpful NAA flags from the last couple of days, I'd say that more than half of the non-answers originate from unregistered users.
Without being actually able to look at the Mods' flag queue, I'd say that non-answers are the principal source of Moderator attention flags. Requiring registration might reduce them.
The only advantage (from the user's perspective) I can find is that they don't have to go through the registration process, but posting without registering also asks for name, email address and home page.
To register instead of just posting, the user only has to provide a password, solve a CAPTCHA and click a link in the registration email; and that's only if he doesn't have Facebook/Yahoo!/Google/etc. account.
Unless there's an advantage that I've overlooked, I think that registration should be required to post questions (for the user's benefit) and maybe even answers (for the site's benefit).