Factoring often appears to be, and indeed often is, very expensive. You are outsourcing your whole sales ledger function to a plc, who charge you a percentage of turnover big enough to cover their plc-standard offices, salaries and overheads. And that's before you borrow a penny - they charge extra for that. Needless to say, getting a competent bookkeeper, possibly on a contract or part time basis, is going to be a lot cheaper, despite the line they spin about not having to pay to post out the statements.
The problem is that banks will often push businesses down this route because of issues of security. I can't remember how long ago, but there was a decision about the effectiveness of certain types of floating charges in a liquidation, and the banks found that they weren't as secure as they'd believed. That's why factoring became so popular (with the banks) - the security is much stronger, and of course it's normally a bank subsidiary of the bank that gets the work and gets to make the profit. If you want cash, you might be pushed into factoring - beggars, choosers and all that.
Factoring does have advantages, if you can factor in (excuse the pun) the costs into your selling price. It's fully flexible, so is good for growing businesses. Sometimes having the sales ledger run properly is a new experience, and generally people do pay factoring companies more quickly, fearful of being reported for slow payment. (That obviously excludes bloody minded people like lesliedocherty of course!

) Where it's weak, apart from costs, is that the factoring company will set a credit limit for each of your customers. If they have other companies dealing with one of your customers, they may try to cut their exposure and thus cut your limit for dealing with what may be a major customer. Once in, it's difficult to get out.
There are other sources of finance, such as confidential invoice discounting which don't carry the same admin overhead in terms of external costs, but they can be very demanding of internal admin.