Historically, actions (and user actions in Nuxeo Studio) were a mean to add a link, a tab or a button in the user interface in a declarative way. It’s a great way of making the platform modular, since you can add a new button in the user interface afterwards, in your own plug-in. The notion of action comes with the notion of filter, that allows to control when the element should appear.
The use of the action pattern has been extended in the platform. Technically, the action framework can now be assimilated to a system that enables to inject typed UI components in the back office declaratively.
Nuxeo Studio allows to declare user actions. You can also use XML contributions for more advanced use cases.