To stop spam bots appearently. Though I do think they are bit excessive. Security codes for login should be enough. but dam even to send PMs you need to do it. I believe this forum will do better if only the login needs security codes. We don't want to end up like the airport industry now do we? :P
Require security codes for unregistered users (since I hear they can post too?) but for logged in members, the security code at login should be enough.