The text of the tmpwatch man page for option -a implies that tmpwatch's default behavior is to delete both files and directories. -a, --all Remove all file types, not just regular files and directories. The actual default behavior is to just delete regular files. Directories do not get deleted unless -a is specified.
source code comments also indicate that proper behavior is to delete both files and directories. #define FLAGS_ALLFILES (1 << 1) /* normally just files, dirs are removed */
*** Bug 14930 has been marked as a duplicate of this bug. ***
this was fixed for our forthcoming 7.0 release - empty directories will be removed. -a will allow non-regular files such as pipes and sockets to be removed as well.