There are a number of factors involved
in 'hotplugging' and HAL is only one
of them. When a new device is added,
e.g. a USB drive is plugged in, the
following occurs (roughly):
* The kernel becomes aware of a new device and registers it in /sys.
* Udev creates a device node (e.g. /dev/sdb1), and loads the
drivers/modules needed.
* The HAL daemon is notified by D-Bus and adds the device and what it
can find out about it to its database.
* The addition of the new device is broadcast by HAL over D-Bus to
whatever programs are subscribing,
e.g. Thunar, which shows it as an icon
in the shortcuts side panel, or
Metacity/Nautilus which will add an
icon to the desktop.
* Another program listening may be a volume manager, such as
thunar-volman or AutoFS, configured to
automatically create mount points and
mount certain types of drives, start
Rhythmbox whenever an iPod is
connected, etc.
source: http://wiki.archlinux.org/index.php/HAL