If I'm reading your post right, you've signed a listing agreement with an agent who you feel is not performing, based on the lack of a purchase offer.
Ok, that's understandable. Tell me, is your agent doing what she said she would? Is she advertising your property as she said she would in the agreement? If she is, it doesn't sound like you really have a case to cancel your agreement early.
The fee she is demanding to cancel your contract is her protection against an unscrupulous buyer approaching you directly and offering to buy your property without your agent. This is a somewhat standard clause in most listing agreements, and protects you as well. It ensures you are represented by a professional with your best interests at heart.
Your complaint is that you don't have an offer after 4 months of listing your home. Have you considered lowering your price? Have you considered making other concessions? The primary reason a property doesn't sell in a timely manner is it is overpriced. Has your agent given you a fair market value for the property? Are you following that recommendation? Are you offering a fair incentive to the buyer's agent? In this area, many (Most?) buyer's agents will ignore a property if they aren't making at least 3% on its sale.
The other thing to consider is determining if 4 months is really excessive for your area. In my area, the AVERAGE listing period for certain property types is 90 to 120 days or more. That means half the properties on the market will take more than 4 months to sell.
On the other hand, you might actually have a problem. If your agent isn't listing and advertising your property adequately, it won't sell. What is she doing to list your property? Does she get paid if the property doesn't sell?
Good Luck!
Btw, please don't consider anything I say as legal advice. Real Estate Agents aren't permitted to give legal advice. You should discuss any legal questions with a reputable lawyer familiar with Real Estate Law.