There are no quick answers to this one. I’ve used all three of the tools you list, and each of them has specific strengths and weaknesses, sure, but in many cases those strengths and weaknesses are related more to the product set that sits behind them than the tool itself. For example, some of the tools will support UML modeling or BPM simulation - others might not - but before you determine that to be a weakness, you need to assess whether the tool needs to offer that feature for the product set it supports.
You need to break you analysis down into much more granular comparison qualities. Investigate what matters to the product sets these tools are part of, and then see if the tool (or alternative tool) provides the best solution.