One alternative would be to use OAuth to leverage one or more social network authentication services. These social networks have already taken the user through the email confirmation process. It is a complicated process for you, the programmer, but many CRM's and cloud services have ways of making it much easier.
Meanwhile, it is simplicity incarnate for your users because they use the same credentials to get on your site as they do to get on facebook or twitter. You never see those credentials, but you can get other information from the social network's database, allowing you to personalize each visitor's experience of your site. Best yet, if the visitor changes their credentials on the social network, your site automatically accepts the new credentials, all without the additional burden of keeping track of the visitor's information.