[Touch HD Windows Mobile ROM Development] stepw:
A thorough description of WinCE/WinMo ROM image contents is available at:

http://www.freepatentsonline.com/EP1544732.html

The OS/ROM image in .nb/.nbh container consists of several partitions, they can be viewed using, for example, htcRIE tool, see http://xdaforums.com/showthread.php?t=377514. One of the partitions is user storage, typically a FATFS partition, which is blank in the ROM image. This is where user files are stored and this is what's wiped out when a hard reset or clear storage operation is performed.

The way flash works, it can't use its PROGRAM/WRITE operation to put bit 1 in place of bit 0, but it can put bit 0 instead of bit 1. Therefore when flash ERASE operation is carried out, all bits are set to 1 on a particular flash page.

Thus ERASEing the flash area of user storage partition is an equivalent of a hard reset. Hard reset is roughly the same as your "format c:" on a PC.

HD stock RUU indeed invokes "task 28" command after flashing the OS to do a hard reset. This command also checks flash for bad blocks and potentially corrects other partition errors, etc... In order to be able to flash radio images without loosing user storage data, custom RUU was patched to issue a "task 32" command instead, that does not perform a hard reset.

So when flashing a custom ROM with custom RUU, a hard reset does not take place automatically unlike with official ROM and RUU. This proves that my logic that onkolog was supporting so vigourously is slightly off :) Read on though.

Now, there are rarely 2 ROMs that have the exact same size of the user storage partition, so whenever a new ROM is flashed, the partition table is overwritten and old user storage becomes inaccessible. Until you do a hard reset, there are bits and pieces of old data still in flash, so some kind of file restoration tools could be used to retrieve it. But user storage is nevertheless reinitialized by SPL when an OS is flashed or by the OS kernel when user storage filesystem driver is loaded, so it's ready to be used all the same and it's empty. This is roughly the same as your "format c: /Q" on a PC, when actual data is not removed/overwritten, but the file system is reinitialized.

This latter way of resetting user storage may be slow initially, as filesystem driver will need to erase blocks of flash previously used in the old partition before it can store new data. If you have a multitude of bad blocks in flash area assigned to user storage, the slowdown could become more noticeable as flash driver is processing bad blocks. I guess this is one of the possible causes of the slowdown some users are experiencing. As mcdull had suggested, this effect should fade quickly though and in reality it's not that much of an impact...

So the bottomline is, if you have an extra minute and/or if you have issues, a hard reset is as good troubleshooting step as it has always been. Hard reset will erase all user storage flash pages at once.

If you are not having issues and don't mind a bit of a slowdown while flash pages are erased one at a time, don't do a hard reset.

PS For those who decide to "hard reset" their PCs, do NOT run the "format" commands I have referenced unless you know what you're doing :) :)