Depends on the situation, and how it is being used.
It does take a serious amount of time to set up, but it is so flexible that if you take the time, you will never leave it.
It also integrates into everything, and has a very verbose API, so if it doesnt do what you want you can extend it.