It could really depend on your field. They can all be very similar.
Currently I am a product/project manager (not my job title btw). But we also have program managers that work with us. I would also consider myself project lead in some ways.
I have programs that I am in charge of from an Engineering aspect. Design, testing, troubleshooting etc. But, I also have resources (employees that do not work directly for me) that I must rely on to do all of my CAD and some other aspecs of my job. So I must make sure they are doing what I ask, check that they did it correctly and on time.
I guess in the end I do not know what I am
maybe a little bit of everything.
Our program managers (also at other companies I have been with) work more on the overall timing and money aspects. Some of them were engineers at one time but most were not. They harass me about being on time and I harass whoever happens to be working on my stuff. There is some overlap as well. They deal with a lot of the quality issues while I deal with customer issues that don't pertain to me.
sorry, hope this doesn't cause confusion.