Web Designer Front End Developer
Both of these terms are an unfortunate by-product of the industry's preoccupation with rigid role separation. In the most general sense, a web designer is a designer who designs for the web environment, whereas a front-end developer develops primarily for the client-side portion of the web environment (the browser).
Realistically, a web designer is the role of someone who formulates solutions to problems specific to the web environment based (hopefully) on an understanding of the higher-level limitations of that environment, without necessarily being able to implement the solution at the technical/development level.
On that note, what used to be the fairly easy to define role of front-end development has changed drastically due to the fast-growing overlap between client/server functionality. A front-end developer no longer just cuts up graphic assets or just writes CSS because the behavioral layer of the server environment has become much more dependent on the behavioral layer of the client side(think node.js, meteor.js, handlebars, requirejs, ember.js).
Further, due to the technical knowledge that may be beyond the realm of the designer, the front-end developer typically has a hand in the conceptual phase of design. Ironically, positions advertised as 'web developer/designer' are probably the closest to describing the true responsibilities of both roles, whilst also serving as a red flag to many potential candidates that an employer doesn't really know what they need.