The backend of an application can be seen as the 'brains' of the application. It is where the complex logic of an application lives and where the data is stored inside a database.
The Front-end shows and collects data to/from the end-user. It does that by communicating with the Back-end over an API.
A well-structured backend is generic and can 'serve' multiple front-ends or can interact with the back-ends of other applications to create an integrated service for the end-user.
Not every back-end is a CMS system, but a CMS system is always part of a back-end.
A CMS, or Content Management System, gives specific users/admins the tools to manage and configure the data & logic that is available in the back-end.
Through a CMS system, people with limited technical knowledge can still manage and configure complex tasks and data in a digital application.
Integrations & API's: An open back-end makes sure that it uses the most of existing applications while providing a lot of options for other/future applications to create new services by using existing logic & data.
Security: While an open system is good. We want to make sure the data is not accessed/changed by unwanted users.
Performance: A good Back-end needs to be performant and reply to the requests of end-users in a fraction of a second. Nobody likes to wait. We implement caching and use the correct database technology for the use-case to get the best possible performance.
Technology agnostic: There are a lot of different technologies for creating back-ends. A few of the most popular are PHP, ASP.NET, Java, Node.js, ...
By working with a network of specialists, we are able to work with 'the right tool for the job'.