As a freelancer, I'm like a shark. No, not dangerously vicious, nor delicious in soup, but as a shark has to keep moving to stay alive, I have to keep working to stay solvent. I need to have a steady inflow of projects to keep me in business, and that has the potential to generate pressure to accept work that I wouldn't otherwise consider.
Fortunately, circumstances are such that no single project or client is that important to me. But I still have to occasionally wrestle with whether to accept a job, for a variety of reasons.
Most often, the potential client either has unreasonable expectations, or has reasonable expectations that I simply can't fulfill. If somebody wants a site done completely in Flash, or needs a database back-end, I'm not their guy, as I don't have those skills. These are pretty easy decisions.
Occasionally, I'll turn down a project because I don't think I have the design chops to do what the client needs. This is a harder call to make, because (a) it's more subjective, and (b) it's more personal...it requires admitting to a more fundamental weakness than simply not having a learned skill. I know I don't have the time or energy to learn all the possible technologies that can be brought to bear on a web development project, and so I make conscious decisions about what to learn and what to leave. But design skills are much more inherent, involving creativity and judgment. You can learn some techniques, and try to keep up with trends, but in the end, it's just you facing a blank screen and hoping you can generate something amazing (or, in my case, adequate) that works for the client. Admitting a weakness in this area is hard for me to do, although it would admittedly be more difficult if I wasn't able to remind myself that I was trained as an accountant and therefore steeped in anti-creativity (insert joke about creative accounting here).
Then there are the projects that don't play well with my values. I have a short list of those on my Services page: no porn or political sites, for example. (Oops! Did I imply a relationship between those two? My bad...) I won't work for clients whose views on certain moral or theological issues conflict with mine and where such issues will be relevant to the design or development of the website (I'd probably build a website for a voodoo priest as long as the site just marketed really good ice cream.).
Why am I writing this? I just encountered one of these situations, one that falls into the last category. The details aren't important, but I've decided to turn down the project even though I think it would actually be a lot of fun and an interesting challenge (and probably lucrative), because the client sells something that's perfectly legal, socially acceptable (in most circles), but still personally objectionable to me.
I'm thankful that my situation is such that I can afford to turn down work, shark metaphor aside. Not all freelancers are that fortunate, and I'm sure many of those that aren't still face such dilemmas and make the hard choices.