Replication Snapshot Folder Cleanup

Snapshot agent creates snapshots for the subscribers to initialize. These contain various different types of files (like: .bcp - actual native/character mode data file, .dri - foreign keys and check constraints, .idx - index creation statements, .sch - table/schema creation script, etc)
These files are always kept in \unc\ folder (and/or under \ftp\ folder if you have chosen so in publication properties) with a timestamp value for the folder name (under the publication name folder).
Everytime snapshot agent runs, the new timestamp value is used for the folder name and snapshot files are pushed in the same.
For merge replication, you can create a new snapshot anytime by running the snapshot agent.
For transactional replication, a new snapshot will be created only when a subscriber wants it (i.e. either when you add a new subscription   OR  you reinitialize an existing subscription).

How are these old (non-latest) snapshot folders (static and dynamic snapshots) purged:
  For snapshot and transactional replication: Distribution cleanup agent purges the non-latest folders
  For Merge replication: the snapshot agent itself will purge older folders.  Please click here to see comments of Raymond Mak (one of the developers on replication development team) on this.