From my experience of building web applications only two pieces of information are EVER required at registration time:
1). Email address - unlikely to be forgotten and is useful, ie you can then contact the user
2). Password - so the user can access the site. And I agree, dont ask twice for this, as long as you have a password reset feature.
Any further information can be obtained once the user is inside the system - and full explainations can be given as to why particular information is required.
And never use captcha! There are a millions tricks that you can employ to avoid bots.
1). Email address - unlikely to be forgotten and is useful, ie you can then contact the user
2). Password - so the user can access the site. And I agree, dont ask twice for this, as long as you have a password reset feature.
Any further information can be obtained once the user is inside the system - and full explainations can be given as to why particular information is required.
And never use captcha! There are a millions tricks that you can employ to avoid bots.