Many (e.g. Travelex) also allow you to pre-book your cash for collection at the airport.  The rates are much better (seemingly their own online rate, which, while not in the top 10 today, is quite reasonable).  This provides a profit stream for the company, while for the user it provides convenience (you're hanging around there anyway) and peace of mind (collect potentially large sums of money somewhere secure).

Of course, the last minute travelers who don't (have time to) plan provide a good revenue stream for them, and it's a good idea to have some cash on arrival, though not as universally necessary as it was a few years ago.