Back-end development references a client server architecture common in ecommerce. Client side tends to have a strong user interface skill and the server side a strong API skill. But they overlap.
A backend developer could just be focused on a database and providing an API to it or on a server language like PHP and those mentioned so far and provide an API to it. Their work would need to be accessible to many other back end applications such as the database developer example and more to many front end applications. For example today many web backends service not only desktop and mobile web front ends but also device apps and even desktop apps. So the back end developer will not know how all of those front ends work but provide a server side interface such as a REST interface for those multiple front end technologies to access such as a login. Server developer can also make user interfaces that are probably less robust for administrative access to their code, functionality and data.
In all cases an overlap in skills is a good to have for communication among the team and debugging client server apps. I always joke that the UI person takes the blame for anything that seems to go wrong because it is the cover to the book. In resolving the problem sometimes the UI person needs to clearly understand the surface interface language or at least the API of the server side to help isolate the problem solving effort. Same goes for the server side developers. However they are at the disadvantage because they could be serving many different client side technologies. So they often fall back to their own testing of the API hooks to isolate and remove themselves from the problem solving issues. But you can see the communication not only person to person on a professional team basis but mores on data transmission, the structure and tagging of the data is improved when both sides have a good understanding of their respective technologies to the extend of the data.
The backend to a website is pretty much everything the user can't see. Generally, this means the programming that generates pages that the user views, creating the "server-side" content of the site. This could be scripts, directives, databases, and other automated functions the server performs.