Some stats are recalculated on a cron-basis. Since counting items on the database is "expensive" (in terms of resources), you should not calculate it each time an user ask for it, instead, you precalculate and save it.
IE: numbers of ads per country/region/city/category ... are pre-computed and saved on the database.
There are other actions, like deleting failed uploads, temporary files or purging latest searches. Also, sending alerts to the users who has subscribed.
And that's the core, plugins make use of the cron too for similar actions. Payments Pro for example, uses the cron to clean the database from unpaid carts after several days. Butler plugin uses it to run some actions on the background, without affecting the user experience (deleting inactive listings or users after X days,...)
Think of anything that should happen after a given time of the action (for example: search alerts, remember the user to activate their listing after 2 days, delete an user if he didn't activate their account after several weeks,...) or if the action will take a big time to execute (for example: re-calculating stats), then, it should be in a cron