I’ve been chewing on these questions as well in relation to an event calendar project meant to complement our services directory. Thinking conceptually and at a basic level, an event occurs whereas a service reoccurs. Taking Skyler’s 1-6 examples, example 5 could be a church’s free meals service, whereas example 6 is a spaghetti night event. Events are more granular than services, even if you can sometimes break down services into discrete events (free Friday meals–> spaghetti night, burger night, pizza night). If you want to express those granular details, you have an event, if you want to express reoccurrence you have a program.
I don’t know how exactly to map this, but when I try to express that granularity, the best option in my mind is a discrete date. Inherent to an event is a date (or date range), whereas a service may occur on certain days but the date of occurrence is ancillary.