One of the hardest decisions to make as an online freelancer is to fire a client. In some cases, you might just need to move on in order to grow your business or develop as a person.
In other cases, a client might have become intolerable. When you reach that point, it's vital that you assess your options. You don't want to keep trying to work in a situation that sucks the passion out of you, and that makes it difficult for you to accomplish other work that is more meaningful to you.
The unfortunate reality is that you might not be able to fire a client if your livelihood depends on the gig. Carefully think through the situation, and figure out what steps you can take as you begin to prepare to fire a client.
As you build your freelance business, make it a point to seek out clients that you are comfortable working with, that pay on time, and that you trust. I'm fortunate that I have wide enough variety in my clients, allowing me to move on when necessary.
Long experience has allowed me to discern better as well. This means that, even though I do still occasionally fire a client, it happens less and less.