Programs are where you house your individual marketing initiatives. There are four different types of programs as defined by Marketo; Default, Event, Nurture and Email. Some features and reporting are available for certain programs. You can also add channels, tags, and period costs to organize programs and calculate roi.
Smart campaigns are how you tell Marketo what to do. You have to define the people that qualify for the campaigns using triggers and filters and then define what will happen to this group in the flow step. Smart campaigns can either be triggered every time a certain action is taken such as a form fill, or they can be batch campaigns and have everyone flow through at the same time just once or on a scheduled recurring time.
A smart list is used when you want to see people who meet the qualifications for certain type of criteria based on activities or field data.
A static list is used to store people on a one time basis . You have to add people to, or remove people from the list, either through smart campaigns or manually within the list itself.