Hi Alexander,
Typically, you use the Agent API to add services and register them with the Consul agent running on the node providing the service. The agent will automatically use the Catalog API to sync what has been registered with the Consul servers. In Consul, the source of truth about service registrations is out at the edges with all of the agents and they make sure the catalog is up-to-date. This adds a layer of robustness if you had to rebuild your Consul servers.
You'd only register with the Catalog API directly if you were not use a Consul agent for some reason, which isn't common or recommended. Hope that helps!
-- James