The basket controller is responsible for all basket related actions like adding, editing and deleting products from the basket, adding the delivery and payment provider as well as the addresses of the customer.
All information required by product lists and the detail view is provided by the catalog controller. It ensures that data is only fetched once and available to all catalog related HTML clients.
There are some configuration options used by the controllers of more than one domain (basket, catalog and service).
The service frontend controller cares about retrieving the delivery and payment options and validating the input using the service providers.