I kinda like how easy facebook/twitter makes logging in to new sites, but I find it annoying when they request for permissions they do not really need.
Then again I like when a site allows me to create new account for the site, because this does not share my social data to the site, but the registration process is annoying, because I of course want to use the site right away.
OpenID is pretty cool system, but I do not use it, because I do not use any of the OpenID services like Google anymore.
Never before heard of Mozilla's BrowserID, so can not say much about it.
These days I have been thinking about system where log in form asks for email address and password. Then the client will send this email address to the server and the server will check if the address already exists in the database.
If the email does not exist then the server will reply to the client and the client will send the password to the server and the server will register new account and authenticate the user right away. Then the user can do whatever they need to do on the site.
If the email does exist then the server will reply to the client and the client will send somekind of hash generated to the server to authenticate the user. The hash function will use the user password as the secret key. Once the server receives this hash it will authenticate the account if the email and password were correct.
I think this kind of system would simplify the registration process. If you need the email address verified you can send the verification email on the registration process, but do not require the email to be verified right away, because it's damn annoying to go to your email to click the damn link to verify your email address which usually opens new tab in your browser when you already most likely have the site in open tab.