Best is to create a program object, find the program on the drives object, right click and choose Create Program Object, give it a name and select Desktop for where to create it. You can then drag it to Programs or wherever you want to keep it. Generally when installing a program, it is a program object that is created. You can also right click on it, open its properties and set various things up such as associations, parameters, environment and such, even have it automatically run.
A shadow is similar to a shortcut or link that can't be easily broken and better if you want to do something like have a folder of BMP's on the desktop or in one of its folders.
Edit:
There is also the Templates folder under Computer, which allows all kinds of objects to be created by dragging a template to the desktop and filling in stuff, eg drag the Program Template to the desktop and fill in the Path to the program etc.