What are pros and cons of Fabric and Plumbum python libraries for local/remote command execution? What are use cases when one library should be used and other is not? What are the differences attention should be drawn to?
They're pretty much the same thing.  The biggest win for fabric over plumbum is the ability to connect to multiple hosts in parallel, which is more or less indispensible when you're working with a non-trivial setup.  fabric also offers a couple of contrib helpers that let you upload jinja templates, upload files, and transfer files back to the local system.  I personally find the fabric api to be far more intuitive for working with remote servers.
YMMV, of course, but both are geared towards being very close to shell commands.  That said, my team and I are focused on ansible for most configuration / deploy flows.  Fabric does offer some power over ansible at the expense of having to roll your own idempotence.
Fabric vs Plumbum: differences, use cases, pros and cons