Virtual Applications is similar as Software virtualization. It helps to increase the hardware utilization, decrease capital and operating cost by sharing in number of VMs, high availability and Secure VM can use from anywhere in intranet. Not only that, it reduces the Costs of Application Management, i.e. cost effective deployment, updating, supporting and terminating applications. Installing an application on hundreds or thousands of computers is almost error less. One more useful fact is since virtual apps just have to be deleted, uninstalling them is usually not required. Application virtualization helps reduce the risks of application conflicts. Generally, Difficulty of troubleshooting applications, need to fully understand the virtualization process of applications to be able to trouble shoot any application problems.
For Virtual Desktops, simple process of provisioning of new desktops, helps to reduce downtime if the hardware-failures, cost effective deployment of new applications, and also there is an advantage of more secure access.
For almost same concept and good guide, please link here.