What are the differences between program node and installation node?

I am reading through the URCap tutorial and am having trouble understanding the difference between program nodes and installation nodes, can anyone explain at a high level what their purposes are and how they are different from eachother? Thanks!