What does bamfdaemon do?
When you open a program, Unity will either pop up a new icon on the launcher(dock) and/or add an arrow to an existing icon. Each icon is not an executable; it is a .desktop file. bamfdaemon
helps this by determining whether an arrow needs to be added to an existing icon, or a new icon be popped up, along with other behaviors dependent on application identity.
I think it is related to Unity Integration
for websites. I hope I am right ...
edit: According to this it is:
Window matching library - daemon bamf matches application windows to desktop files
This package contains the daemon used by the library and a gio module that facilitates the matching of applications started through GDesktopAppInfo