I agree with naresheep.
Although, in my case, I used tftp to install the fw on my router. It is somewhat safer (just remember to get the image gargoyle_1.3.14-ar71xx-wzr-hp-g300nh-squash?fs-tftp.bin instead of gargoyle_1.3.14-ar71xx-wzr-hp-g300nh-squash?fs-sysupgrade.bin) than the mtd method. I would recommend use of the tftp method, if possible. Only use the mtd method as a last resort. And remember to double check to insure that you are using the correct image for whichever method you use.
For most users, the Gargoyle implementation should be all that they want or need and is extremely easy to use and administer.
For the more adventurous, the latest OpenWrt trunk build provides a lot more bells and whistles, but is a little bit more challenging to administer. The LuCi interface provides a fantastic web interface for router adminitration and exhibits amazing versatility.
Personally, after experiencing the operation of Buffalo "user friendly", Buffalo DD-WRT, DD-WRT community builds, Gargoyle (OpenWrt Backfire), and OpenWrt latest trunk build, the OpenWrt based firmware wins hands down. I am never going back to the Buffalo or dd-wrt firmware. My future router decisions will be guided by the ability to run OpenWrt (especially for Atheros based routers).