One of the most common reasons is simply that they don't want you to go direct to the company in question and bypass their commission. If they give you too much, it is very easy to do and many companies will recruit directly and the recruiter would have no legal basis to do anything about that.
On the other hand, because of commission, it is in the recruiter's interest to get you as much money as possible so you might get a better offer via them than you would if you went direct.
On the other hand, because of commission, it is in the recruiter's interest to get you as much money as possible so you might get a better offer via them than you would if you went direct.