What is the difference between Widget and program that can be added to the home screen? When I hold the home screen on a spot a set of options appears to add to Home. Two of these options say program and widget. To add my calendar app which syncs with my google calendar I had to use widget on the home screen. To add my task app which syncs with my google tasks, I added a program to the home screen.

What is different from a Widget and a program. They both must be programs. Is a widget something which is dynamic all the time, and loads on boot so the viewer can see it on the home screen live and updated like a clock?
You basically answered the question.  A widget is a 'view' on an application that will update and can be embedded in apps like the home screen.  A 'program' in the home screen sense is a static link to an full-screen application startup.

See the first para of the Android developer docs for more details about what a Widget is:
http://developer.android.com/guide/topics/appwidgets/index.html