I want to clarify that my answer takes into account semantic prejudices that exist in the job market today. Because these terms mean one thing to the people in the industry and another thing to the companies who are actually doing the hiring. I always use terms as they are used by hiring managers to solve business problems.
As many others have pointed out, these terms were and are in a state of flux and this evolution has hitherto only continued. Web Designer is, for lack of a better descriptor, an old term. Very few people at the heights of the tech industry use that term anymore. This is partially because it is an inaccurate description for a profession that has fragmented into areas of specialization, partially because the term comes from the early days of the web, when local HTML monkeys would grind out simple web pages for cheap. This historical baggage has devalued the term to the point where anyone who hopes to move up in their career avoids using it.
Web designer, or perhaps web developer, as a profession has expanded into not just UX and UI designers, but also front-end engineers, UI engineers, design technologists, UX engineers, UX researchers, and even more bloody buzzwords.
A motivator for this shift away from the word “web” is because the web is no longer the only target for usability design. The largest alternative target is of course mobile design, and the rise of mobile applications did more to drive the UX industry into the stratosphere than any other force. You can’t be a “web designer” and design native iOS apps, now can you? A UX designers designs for wherever a user is.
You can see more elaborate descriptions of “UX Designer” in the answers below, but for the sake of providing a high-level description of what one does in comparison to other levels of the software development process, the UX designer focuses on the user and the concerns that affect the user in relation to the software. This means that a UX designer is more a psychologist than a programmer. A UX designer understands the physiology of the eye and the specifics of color blindness.
A UX designer is not a pure researcher. In large organizations, there will often be a dedicated user research team that is almost purely scientific and psychological. The UX designer acts as the layer of the org that accepts user research results and produces designs that takes these data into account. The UX designer is also usually tasked with integrating brand direction and stakeholder desires. This conflict is why many UX specialists describe themselves as “advocates of the user.” Stakeholder desires, and marketing especially, often conflict with the results of user research.
While ideally a UX designer is not doing all of the research, in smaller companies they must wear many hats. As such, it is the UX designer who must design user research processes and analyze data for insights. Basically, in many organizations, the UX designer is doing everything that relates with the user. They reseaerch, they design, they brand, they test, they spec, and then hand their artifacts off the development team.
UI design is more focused than UX. Where UX can include the physical product, the copy and verbiage, shapes and colors, and branding, UI design is completely focused on a software interface. Specifically, it means the software interface for a particular use case and on a particular platform. This means the position of interaction points, and how the UI responds to user actions. This means that UI design is more closely related to information architecture than they are design. Where an information architect is concerned with information throughout the application, a UI designer is concerned with the information on an individual screen. A UX designer may may general designs for a wide variety of target screens and platforms, but a UI designer will work on the layout and patterns for a mobile phone only.
UI design also, at least in todays market, implies technical skill. UI designers are not very concerned with UX research and user-centered concerns, but they are concerned with the implementation of the UI. UI designers are generally expected to know how to implement designs in interactive prototyping tools, and in the language/tools in which the application is being developed. This is because, as I mentioned, UI designers will focus on a specific target, whether it be watch, mobile, desktop, or tablet.
As I said about how UX designers are often required to wear many hats, the same can be said for UI designers. UX and UI are so often conflated because, in many companies, the same people are doing both jobs. They may focus on one part at one time, another part at another time, but they’re all doing all the work.
This is the reality of the UX/UI job market. Whether designers like it or not, both groups are doing the same work and anyone who wants to get jobs in the industry needs to have experience doing everything. They need to know research, testing, branding, pretty designs, movement and interaction patterns, prototyping, and how to design UI’s for many target platforms and screen sizes.
Furthermore, for both professions, a beautiful online portfolio is all but required. This means that no matter where you want to focus, you need designs on Behance that look like they’re ready for use at Apple or Google. They need to be total packages, with gorgeous UX, visual design, and screens designed for mobile, tablet, and desktop. That’s a lot of work.
The ideal for you, personally, is to be a jack-of-all-trades early in your career and concentrate on what you love, eventually landing a highly focused role at a company that can afford you. Although perhaps it’s too much to call that an ideal. Maintaining a broad skillset that encompasses all parts of UI and UX also means you can accept jobs at smaller companies and move around the product development stack more freely. That’s my ideal. Wearing many hats keeps a job interesting.
Soooo, where were we? I don’t even know anymore. UX and UI have lots of overlap in the job market. Trying to differentiate them is an exercise in futility, even though they are different. I think the best, broad statement to make is that while both occupy much of the same space, UX is closer to the user, and UI is closer the applicatio.