A frontend is a construct that is used as an opposite to backend. In this IT-antagonism, the frontend is what the software user sees, the backend is the logic and the data behind it. For example, your browser running on your desktop is the frontend for wiki.linuxquestions.org, while the backend, the server running mediawiki, can reside in quite another country in the internet.
Separating frontends and backends are an important practise in IT, because it makes your software modular and the components easier to understand. However, typically in the design phase you have to strike a balance between having too many little components and too big, but few components.
Backend and frontend can be united in one computer, or even in one program, in the latter case we are talking about a monolith.