When I decided to take the leap and go freelancing full-time, most people made comments about how great it would be to be your own boss and take orders from no one. There's hundreds of things to love about being a full-time freelancer, but "take orders from no one" is nowhere on the list.
As a freelancer, I take orders from everyone. Taking that one step further, all my clients are my bosses, and they need to be treated with respect. They control my paycheck, my workload, and ultimately pay my bills. I've still got deadlines, and can't always break away from work as much as I would like to.
Even though I have more bosses than most people do, the great part about what I do is that I can fire them as quickly and easily as they can fire me, which is a great feeling. Too many late payments? I don't have to work with that person again. Too much scope-creep without wanting to pay me for my additional work? Next time I'll pass on the job. A freelancer's life is consumed with good and bad bosses, but the great part about this career is that we can constantly weed out the bad ones and keep all the good ones.
I recently had a boss who really didn't understand the concept of scope creep. His business was constuction, dealing with building equipment. He couldn't seem to wrap his head around the fact that, although I didn't supply a physical product, the work I did for him was time consuming and valuable. Every revision turned into a back-and-forth of change after change after change, adding in features and additional work. I tried my best to explain my position, but it became apparent pretty quickly that he either didn't understand, or didn't care. I can't tell you how nice it felt to send him that final invoice, and tell him "thanks, but no thanks" when he asked for another estimate on a round of changes.
Don't be afraid to tell a client no. Your time will be better spent finding a good client than trying to please a client who could never be pleased.