The difference between a web developer, a web programmer and a web designer
Most people will use those words interchangeably. Design activity is usually related to graphic design, so a web designer will mainly take care of the visual side of a web site.
Programming on the other hand is related to coding. Web programming can be divided into front end (client-side) and back-end (server-side) programming.
See client-side versus server side programming article.
Most specialists in web site development and design have a combination of skills, and depending on their business setup the skill set may vary greatly.
For example a freelancer or one-man-company web designer will need to get hold of all skills related to creating a web site.
A micro-company consisting of one more technical and one more creative person might do a better job, as each specialises in their own area.
In larger web development companies the work can be divided between people who are much more specialised. For example in one company I worked for, there was one dedicated person whose job was to look for relevant pictures in royalty free picture archives.
It is also quite common for people to focus their experience either on back-end or front-end programming.
Web developers write pages using HTML and CSS; strictly speaking they are not programming languages as such, so a web designer skilled in HTML and CSS can produce a static web site, or a web site with some interactive front-end elements, such as drop-down menus.