I think Workflow's functionality is HIGHLY dependant on what you already know. It was perfect for me because I don't know any php and a lot of workflow's functionality is functions you would normally need php for. It allows you to create the while loop, for instance, without knowing how to setup a while loop.
I will say that without a reasonable understanding of SQL (at least basic Select scripts) you might have difficulty getting the most out of workflow. There are alot of scripts pre-built (through qcommands) but if you really want to customize things then you'll need to know SQL.
It also gives you a high level of control within the CommVault system for things like scheduling and automatic response to things occuring in CommVault (such as running a workflow automatically on event code using alerts).