Actually, it does ... eventually.
There are two reasons why you do not see an immediate reduction of disk utilization when you delete messages from a Citadel system.
The first reason is that deletion of messages is one of a number of operations which the Citadel server defers for later processing in order to keep interactive performance running smoothly and quickly. The messages you delete will appear to be gone, but they are actually still in the database. When the nightly auto-purger job runs, those messages will finally be deleted. (For a more technical discussion, read this article on deferred processing.
The other reason is that Berkeley DB, the underlying data store used in the Citadel server, does not automatically shrink the size of its data files. When messages or other data are removed from the store, that space is made available for other data. As a result, your Citadel data files will stop growing for a while, even if you continue storing more data in them.
NOTE: in Citadel Server 913 or newer, there is a hidden configuration option called c_shrink_db_files which can override this behavior. When c_shrink_db_files is set to any value other than 0, the Berkeley DB "compact" function will be called after the nightly auto-purger completes its run, in an attempt to return unused database space to the filesystem.