I really like utilizing segments and streams within engagement programs so that we're forcing mutual exclusivity for selected nurture campaigns that we're running. When you take the time to draw out a nurture program, and really understand what you're trying to build, they can be very powerful. Gliffy helped us to visualize what we were building, where we wanted to see specific steps and alerts, and where we could make our gatekeepers and programs more secure.
One downside to them is the limited cadence, although there is a workaround with this if you pause and unpause people using a gatekeeper. Also, I'm not a huge fan of the engagement score, but you obviously don't need to use this. If you utilize programs within your EPs, then the only way you're going to get a score is if there are successes.