It is important to make choices about who you work with because it might be hard to give good service to someone you don’t enjoy working with. Try to catch the red flags before getting too far into a job.
Here's an example of a real life story:
Client wants a full website built in 2 weeks. You get a request for a referral knowing perfectly well that the site will take longer. You say 'yes, Mr Smith can do the work in 2 weeks, I have no doubts'. In reality you don't really know and you should have checked ahead of time. Setting up unrealistic expectations is one of the biggest reasons for failure. This happened to me and I don't think I will ever let it happen again -- I'll check next time whether Mr Smith really has the time, inclination or desire and motivation to do the work.