Hey Tom, in the example you provided above, "was sent email" will change the status of everyone who was sent the email. "Was delivered email" will only change them if the email was delivered so it's a little bit more refined. But, this is a flow step, and so if your first flow step was "send email", without a wait step in between steps 1 and 2, most people won't have their program status changed because the email won't have had time to be delivered yet.
I personally have mostly moved away from program statuses that involve changes based on email sends, opens and clicks because all of that data is in our email performance or send campaign performance reports. I will use webinar/event invited statuses if necessary to keep track, but that also has implications if you're linking to a SFDC campaign because we will often invite upwards of 100k people to an event, and typically have about 1-2% registration depending on the event. If everyone is listed as invited and the program is synced with an SFDC campaign everyone shows up as invited in SFDC as well, which is unnecessary for us.