I'm often asked to solve a CAPTCHA when I try to post a question, even if I'm logged in.
Why does this happen? What should I do to prevent it from happening?
This is a spam-prevention mechanism. As you gain rep, this happens less frequently.
Unless you're a robot. If that's the case then your kind is not welcome here.
Do you type up your answer in an editor and paste into the "Your Answer" box? Or do you take ages typing, editing, revising and reworking your answer?
If the time between you starting to type (er paste) and hitting the "Post Your Answer" button is too short or too long (for different values of "too") you will trigger the "are you a robot" question.
Don't be offended.
As Jon B points out as you get more rep the values of "too" change to make the captchas less frequent - but I still hit them from time to time.