Q: What's the difference between using a System Center Virtual Machine Manager virtual machine template and a gallery resource in Windows Azure Pack?
A: A System Center Virtual Machine Manager virtual machine template can deploy an operating system image with some basic virtual hard configuration and basic configuration such as joining a domain; however, it can't be used to install software, add roles, or scale out (to do that in System Center Virtual Machine Manager, you need to use a service template).
VM Roles via Gallery Resources use a virtual hard disk template in System Center Virtual Machine Manager and can perform highly customizable actions such as adding roles and features, installing software, and running scripts. You can do pretty much anything you want by creating a custom JSON file for the VM Role (or using the VM Role Authoring Tool). VM Roles can also scale out.
The end-user experience is very different between System Center Virtual Machine Manager virtual machine template deployment and VM Roles via Gallery Resources. When deploying a System Center Virtual Machine Manager virtual machine template, the user will have a basic data input experience for the required values; when deploying a VM Role, the user will be prompted with all the data defined as configurable in the VM Role definition—providing a much richer user experience.
If you only need to perform a basic deployment of a virtual hard disk, you can use System Center Virtual Machine Manager virtual machine templates. But if you want more flexibility, you should use VM Roles via Gallery Resources.