Difference between delegate and event call

The difference is that in the bottom one, you’re manually calling “Custom Event” directly in the setup Blueprint graph (and will always execute once and only once). The bottom “Listen for Input Action” node doesn’t even need to be there. The “Custom Event” will execute immediately regardless of anything that came before since it’s next in line to be executed right away.

In the top one, your “Custom Event” is called every time the user executes a specific action.

Said differently, the top “Listen for Input Action” will store the delegate to “Custom Event” for later use. When the specified action is triggered, it can call that delegate (or event) that you specified.

Top one is: Store delegate for later. Can call delegate later.
Bottom one is: Call node NOW (and only once).