There are advantages to long-term clients as well as disadvantages. The advantages I have found to long-term clients are:
- Lower cost of sales/marketing (the customer already knows and trusts me and so it is easier to convince them to select me for a new project)
- Lower risk (you already know you can work successfully with the customer, they have proven themselves to be honest and trustworthy)
As you say, the disadvantages can be:
- It is harder to say no to an existing client
- Their work can get boring, especially if you just tweaking previous work you did for them
That being said, I disagree that you are "forced" to take any project you are offered from an existing client. For example, one of my clients requested a bid for a Silverlight development project. At first, I thought "hey, I'll learn something new", and I started working on the bid. Then as time went on, I realized that there was little value for me in learning Silverlight. So I politely explained to them that I had decided to decline bidding on their project - it just wasn't a direction I wanted to take my career. I was worried the customer would be angry, but instead they told me they respected me more for my honesty!
Ultimately you need to decide what kinds of customers makes you the happiest. If always finding new clients is worth the effort for you, then by all means go for it. My business model is built around long-term relationships with clients so that I don't have to constantly find new ones. In a typical year, I work with 4-6 active clients, and perhaps only one of them is a new client. That new client doesn't always convert into a long-term client, but that is usually my goal.