it's the same thing, just depends how you call the halt program. if you call it by "poweroff" it turns the power off, if you call it by "reboot"... well.. that's obvious.
Code:
trevor chris # ls -l /sbin/poweroff
0 lrwxrwxrwx 1 root root 4 May 11 12:27 /sbin/poweroff -> halt
trevor chris # ls -l /sbin/shutdown
16K -rwxr-xr-x 1 root root 15K May 11 12:27 /sbin/shutdown
trevor chris # ls -l /sbin/reboot
0 lrwxrwxrwx 1 root root 4 May 11 12:27 /sbin/reboot -> halt
trevor chris # ls -l /sbin/halt
12K -rwxr-xr-x 1 root root 8.7K May 11 12:27 /sbin/halt
halt (which IS poweroff or reboot) calls shutdown, which then acts accordingly. the manpage expains these relationships in greater depth