It’s okay to be confused about this. I often think that some people who’ve adopted either of these job titles for themselves are confused about what they mean, too — that’s a whole different kettle of worms, right there.
In the simplest terms I can think of (there’s so much more to each)…
Design is crafting user experience by employing principles such as balance, contrast, emphasis, consistency and unity.
Development is taking a static plan (like a design) and turning it into an interactive experience; in the case of web development, with features like image galleries, shopping carts and forms using programming languages like PHP, Ruby, Java, ASP or .NET.
Outside the field of web design / development, these job titles are often used interchangeably, which results in people Googling for a “web designer”, when what they really need is a developer — or vice versa.
Personally, I’ve always called myself a web developer. I sometimes work alongside graphic designers and concentrate only on the development side, however, I design and build web sites from the ground up just as often.
So, if you’re self employed or run a small to medium-sized business and you need a web site, which do you look for? Where do you start? Well, the first thing you definitely should not do, is hit Facebook or Twitter and ask “Does anyone know a web designer/developer?” Why? Because, these days, everyone knows someone with that job title; that doesn’t mean that person is qualified to take on the huge responsibility of building what will be a massively important part of your business — often, the first impression most of your potential customers will gain of it.
Try asking in small business forums instead. Ask for recommendations from other small business owners and do your own research into those recommendations. The person you end up working with should be someone who is as committed to your success as you are, and since you’re going to need to work closely with them for at least the duration of your project and possibly long-term, you also need to get along well with them.