How do I create different user registration pages? In my project, I need to have two types of user: normal user (who can buy products) and merchant user (who can upload products).

I made the registration page by creating the user_register.tpl.php template file.
I don't have any idea about how to make another registration page which will be used for merchant users.

Is there a contributed module available for this?
Basically you have to create only one registration page. And you have to create two roles.
Normal User and Merchant User
Add these roles field on user registration page using Auto Assign Role module.
Configure permissions for the respective role. Like Normal users can buy product and Merchant users can create product
If you are using Commerce Kickstart then you will have permission for adding product and other permissions.