Ranked in these QuestionsQuestion Ranking
Pro Very lightweight
It has a low footprint.
Pro Drag&drop / Mouse support for resize/move
You can resize, switch panes, and resize tiles via the mouse.
Pro Very flexible
The keyboard shortcut are handled by another module so it's easy to use other inputs. The configuration is also simple.
Pro Based on binary space partitioning
The windows tiling is handled as the leaves of a full binary tree. This makes it easy to partition as you like.
Pro Open source
Pro Live configuration updates
No need to restart for updating configurations.
Pro Simple, adheres to the UNIX philosophy
Configuration takes much less work than in similar window managers. Hotkey binding is handled by a separate utility, sxhkd.
Pro Adherent to the Linux philosophy: Do one thing and do it right
Pro Simple interface
All actions of the window manager (like opening or resizing a window, changing the workspace, etc.) are handled by a program called bspc, which communicates with bspwm over a socket connection. The config file is just a shell executable making calls to that program. This makes it very easy to write your own scripts to handle bspwm's behavior.
Con Poorly documented
Compared to something like i3 for example, a user following through i3's documentation is basically guaranteed to get a working desktop suited to their needs. Setting up bspwm is much more of a headache due to developers assuming things are clearer than they are.
Con Lacks transparency support
Like most window managers there is no built in compositing, which means no transparencies.