Use do_action( 'unique_name' )
to create your own actions.
You can use that to offer an API for your plugin, so other plugins can register callbacks for your custom action. Example: Do I need to call do_action in my plugin?
But you can use custom actions (or filters) in a theme too. Example: Best practice way to implement custom sections into a WordPress theme
And you can combine both to make a plugin and a theme working together. Example: How to make method from plugin available in theme?
Summary: add_action( 'foo' )
registers a callback, do_action( 'foo' )
executes that registered callback.