Here's a few common mistakes that people keep repeating. If you see anyone making any of these mistakes please point them at this topic -- I'll try to keep this updated with all the common mistakes.
"How can I increase the transmit power to extend my range?"
The transmit power on the AP isn't the problem. Increasing the transmit power will give you a stronger signal on the client and make you think you have extra range, but the client itself is still transmitting with the same power, limiting the effective range. Additionally, turning up the transmit power increases the background noise and your signal starts to bleed into the neighbouring channels, decreasing the range and throughput of any other APs in the area. Your best solution is to get a better set of antennas. (see also FAQ)
"You need to convert the bin (eg. openwrt-wrt54g-squashfs.bin) file to a trx file before reflashing"
The openwrt-brcm-squashfs.trx is a generic trx file that will work on any supported broadcom platform. The openwrt-wrt54g-squashfs.bin is just "bin header + openwrt-brcm-squashfs.trx', the bin header just contains the firmware version number and what models the firmware can be loaded on; the bin header is only used for verification before writing the trx data to the flash. The mtd utility writes the given file to flash without verifying it; use one of the openwrt-brcm-squashfs.trx when using mtd. Converting the openwrt-wrt54g-squashfs.bin file back to a trx is just plain ignorant.
"I've setup port forwarding but it doesn't appear to be working"
The port forwarding examples make use of the "-i $WAN", and as noted in the "BIG FAT DISCLAIMER" immediately above the examples, it will only redirect packets that came in the WAN interface, you will not be able to use the redirect from the LAN -- I'll repeat -- don't try to use the redirect from the LAN interface, it will not work from the LAN interface. If you tried to redirect port 80 to 192.168.1.2 without using "-i $WAN" even accessing google.com would be redirected to 192.168.1.2 instead. The alternative to using "-i $WAN" is to use "-d x.x.x.x" and specify the IP address of the WAN interface, unfortunately this requires you to restart the firewall each time the IP address changes and doesn't lend itself well to dhcp or ppp connections where the IP address might change.
"I've set no_root_swap on my squashfs image and now the root partition is readonly"
Obviously. Squashfs is a readonly filesystem. For writable support, OpenWrt creates a jffs2 partition and on bootup swaps to the jffs2 root. The no_root_swap variable prevents OpenWrt from swapping filesystems and you remain on the readonly squashfs partition.
"I'm using the squashfs image and it keeps running firstboot every time I reboot"
This is an actual bug; see https://dev.openwrt.org/ticket/97 if you run into this problem.
(fixed in the rc5 release)