FYI... Every VM within a vApp and vApp Template will have a VM registered within vCenter.
When you capture a vApp to the catalog with "Make Identical Copy" two things happen. First, all network settings are kept (including IP address if VM's are directly connected to Org Network). Second, the VM's within vApps deployed from the new vApp Template will not go through Guest Customization. When a user creates a vApp from this template they have limited options since it was captured with this setting.
Capturing with "Customize VM Settings" allows the user who creates a vApp from the Template to change the VM's hostname, Networking, IP address, etc... You'll want this option if you want the VM's to join your domain upon vApp creation.
If Fast Provisioning is turned on and you are using Storage Clusters you'll get A LOT of Shadow VM's for your vApp Templates. From my testing eventually you'll see 1 Shadow VM per datastore in the Storage Cluster for every vApp Template. See my blog post at http://veric.me/2013/06/04/vcd-storage-clusters-with-fast-provisioning-enabled/ for more info on this.
If a vApp Template contains 2 VM's you should only see 2 new VM's created when you create a new vApp from it. If you have a vApp Internal Network another VM can be created upon starting the vApp. This is the vShield Edge device deployed by vCloud Networking and Security to do the Firewall/NAT processes for the vApp.
-Eric