I am a .net programmer and build UI for desktop applications. I am really surprised when people don't consider me as a front-end developer.
So... why does "front-end" only pertain to web development?
It doesn't. It's just that there are more frontend-only positions available in web development.
It doesn't only pertain to web development. No where has this ever really been the case. I hear people tallking about C++ front-ends all the time and have books dating in the 1980s and 1990s which talk about the operating systems front-end which is programmed in C. It's just that when people post job descriptions for C++ jobs, they usually just called it "C++ Programmer" because there is not really any structural difference to the language knowledge. In web development, there is because front-end is known to consist of HTML/CSS/JS whereas back-end can be something completely different.
You're probably talking to people who have only done web development, are new to programming, or are in their own little high-level abstraction bubble.
Victor Vincent
Frontend, Backend, Design, <3 JS & OS
Because in my point of view that is called a UI developer which is a different area. It exists on web/desktop/mobile. A Front-end developer is not necessarily developing a UI - even that you call any website a UI -, but it differs about it's purpose. When building a UI for desktop apps the goal is to give the users a tool in their hand to complete certain actions. However websites can have several purpose like presentation, media delivery, news, etc.
The separation of front-end/back-end I think it's coming from the fact that there is a server side and a client side. This is how it works and there is no exception on the field of web development. On desktop side you usually use one technology, like .net in which you may already have the tools to build the full working application. For the web, front-end connects together different technologies (Node, PHP, .net, Go, Py, etc) using the same language/language stack (HTML, CSS, JS).
Front-end became a really advanced and rapidly evolving territory in the last couple of years. It's really getting hard to have up-to-date knowledge. That's why I feel that the separation is legit, and that's why I think being Full-stack developer is a lie nowadays, but that is another topic :)