advantages of drush bam vs. drush sql-dump / drush sql-connect Is there any comparative advantage in terms of best practice, ease of use, or speed in terms of using the drush back up and migrate command (drush bam) or is it just preference?

I'm often using just a simple drush sql-dump &gt; exportdb.sql and a $(drush sql-connect) &lt; importdb.sql to backup a database. I find it pretty easy to use.
There aren't giant differences between the two approaches. Here are a few small differences:

drush sql-dump uses mysqldump program in the background and so is must faster than the pure PHP approach taken by BAM.

You can easily skip tables with sql-dump as well. See the help for this command.

Finally, some folks might want to use sql-sync which does all of these steps in one command. It works faster than sql-dump+sql_connect when one of the machines is remote. It also includes optional data sanitization.