Most plugins do not remove data automatically on deactivation. That’d be a bad thing, since you might occasionally need to deactivate for upgrade/testing purposes, and you wouldn’t want to lose your data.
Some plugins provide a manual data deletion/uninstall function. If the plugin creates a Dashboard panel, check the panel for an Uninstall or Remove Data button.
BuddyPress does not have such a button. If you uninstall BP and want to get rid of the database clutter, just delete all the tables that start with wp_bp_. BP only keeps a few pieces of metadata in the sitewide and blog-specific tables, not really enough to worry yourself about.
Wouldn’t it be better if the option of deleting the corresponding plugin database tables were build in within the wordpress administration. Drupal handles uninstalling plugins this way which is very handy.
It’s up to individual plugin authors to include such a button, since WordPress itself isn’t really aware of the extra databases being created. I agree that it’s good practice for a plugin to include a button like this. But since BP doesn’t have one, it’s pretty simple to just drop the tables in question when you’re done using the plugin.