I was wondering this myself. For something the wiki says MUST be done I find it puzzling that there is no explanation as to why.
I tried using ad-hoc with DD-Wrt and it did not work at all. I then tried with Sveasoft and it barely worked, e.g. 95% packet loss. Then along came open-wrt. Ad-hoc works pretty good, very little packet loss, but I find that pings that should take 1 to 3 milliseconds can take anywhere up to a minute or more to come back. This happens whether the wifi is bridged with vlan0 or not, and with routers that are no more than a foot apart so low signal strength or interference is unlikely. I can ping 100% and with no delays an old linksys wireless ethernet bridge in ad-hoc mode from my laptop, so I know that this issue is definitely confined to the routers. The same routers are rock solid in ap/client configuration, so I have no reason to suspect the hardware.
What is it about ad-hoc mode that makes it so flaky on the 54g?
Is this a kernel driver issue or some other software?