Bfforms also come fully integrated with IxEdit; a powerful java applet that makes form interactivity as easy as point-n-click. Be forewarned however: the IxEdit developer mode tends to break forms if you're running other JQuery applets on the page you're editing - make sure you turn these off before going into developer mode or you may end up having to recreate your form from scratch! This is IxEdit's incompatibility though, and unrelated to bfforms. Once the code is inserted into the page - you can re-enable other scripts fine.
Bfforms also allows you to write custom PHP scripts for forms, which is huge for me. The only con - or perhaps obvious thing - is that if you're doing any kind of mysql insertion, with custom PHP you *must* use your own anti-injection techniques; which is a non-issue for experienced coders.
My only issue with bfforms is the lack of custom error messages/events. For example: I want a form to only be accessible to registered users and instead of the default "Access Level Above yours, are you logged in?!" I wanted to just go to a registration form. This doesn't seem possible, and is very irritating. Because of this, I can't give it the top score, but don't let that keep you away.