HTC Desire Phone Storage != Physical size
That is because your phone has several partitions, and some of those are not user-accessible, but they are required by the OS for the proper functioning of the device. This storage is "partitioned" from your physical storage. These partitions are as follows:

1) bootloader or variants thereof: About a few MB. Responsible for booting up your device. You can't normally mess with it, even with root on-device, but even if you can, you shouldn't.

2) /boot: Contains the OS core, the Linux kernel. About 10-25 MB, varies with device.

3) /recovery: The name is pretty self-explanatory. About 10-25 MB. Responsible for doing OTA updates, factory resets and saving your device when it gets into a bootloop. Most rooted users usually flash a custom recovery like CWM or TWRP before going forward with customization.

4) /system: About 1-1.5GB, varies with device. Stores system data and apps. Read-only to normal users, write-capable for root. Most root users mess with this partition on a regular basis.

5) /data: About 1GB- depending on device. On devices with unified storage, this partition holds the internal SD card too as an emulated device. It is not even read-only to normal users, but it can be written to and read with root. It holds user-installed apps, their data, and user-specific data.

6) /cache: App and data cache. From 16-256 MB. A kind of temporary storage provided to apps.

Note: A factory data reset wipes /data and /cache only.

7) radio or variants thereof: A few MB. Again, responsible for handling telephony. Don't mess with this.

8) /storage/sdcard0: On non-unified storage devices, this is the user-available storage as a separate partition. On unified storage devices, this is still there, but is a folder under /data actually, with write permissions for normal users, unlike the rest of /data.

For any more info, a Google search will help. Or you can check this out.

Also, the partition names are the ones I got from fastboot while flashing my HTC Nexus 9 (16GB,WiFi, flounder/volantis) when upgrading Android via factory images.