The agency decided it would be easier to predict the number of arriving, fee-paying migrants, than to predict how much Congress was going to appropriate.
This was told to me more than 30 years ago by Doris Meissner, then a ranking INS official (and later Clinton's INS commissioner). She was explaining the decision to fund the IRCA amnesty program by charging the applicants substantial fees rather than relying on Congress for the money. Since the fees were set by the agency, it had an ability to give itself a raise, if need be.
I was reminded of this by recent New York Times account of the fiscal problems of USCIS, an immigration benefits entity that is, to this day, largely funded by fees. USCIS was reported to be on the verge of financial collapse due to the lethal combination of the decision to spend more staff time carefully reviewing benefit applications and the concurrent drop in the number of filings by would-be migrants and their employers.
As a result, USCIS is seeking an emergency appropriation of $1.2 billion in tax-payers' money to make up the difference. Its FY 2020 budget totaled $4.8 billion.
Using fees to pay 97 percent of the agency's bills worked well as long as large numbers of people were seeking benefits, and relatively little time was spent on each case. In addition, though the Times did not mention it, there was a sizeable, one-time diversion of funds from USCIS to the enforcement agencies some time ago.
USCIS has decided to raise its fees, generally; has laid them on the asylum process; and plans to add a 10 percent surcharge to existing fees, according to the Times, but none of those actions will fully meet the shortfall, hence the request for taxpayer funds.
My sense is that most nations in the world use general government money to handle immigration benefits, and that the imposition of substantial fees on migrants is the exception, not the rule. The current money problems are those of USCIS, and not the enforcement agencies that rely on public funds for their operations.