> - dmidecode(8) "DMI table decoder".  The output is a little arcane but
>   useful.  The man page says that it can be unreliable.

http://www.thegeekstuff.com/2008/11/how-to-get-hardware-information-on-linux-using-dmidecode-command/

> - (new to me) lshw(1) "list hardware".  The output seems easier to read
>   that dmidecode's.  It uses a variety of sources.  It can output in a
>   bunch of formats (but I've ignored that).

lshw -html > hwinfo.html then double click the hwinfo.html file, you will be pleasantly surprised :)
 
> - /proc/cpuinfo will tell you about the CPU.  Apparently lscpu(1)
>   shows pretty much the same thing (I've never noticed it before).

lscpu gathers CPU architecture information from sysfs and /proc/cpuinfo

> - /var/log/Xorg.0.log: shows what devices and capabilities X has
>   found.  Hard to read but sometimes it's what you need.

xdpyinfo I found was easier on the eyes..

> - lsusb(8): list USB devices (including hubs).

lsusb -tv ( the flags enable a tree lsiting which can help )

> - lspci(8): list PCI devices and buses

lspci -tv ( again displays a tree which can be useful )

and this am yet to use for any real work but is highly interesting:
sudo  dd if=/dev/mem bs=1k skip=768 count=256 2>/dev/null | strings -n 8 # Read BIOS ( Seriously try it :)

Aruna