Can assign build agents based on requirements
Granularity of build plans, branch builds, jobs and tasks provides a lot of flexibility
Drill down from a nice UI into a raw log file.
Really nice integrations with Atlassian products, especially JIRA and Stash. See the commit that is building and the story associated with that commit really easily.
The build monitors and HTML tags features are really useful, but any build system worth it's salt implements these.
The way it's configured, end users do not have admin rights to the build servers, and this causes endless difficulties.
Our company has so many products that it is very slow to load some pages because they have so many entries.
I've always found the deployments section hard to use, but this might just be because we use Bamboo with Nolio from CA, which is a terrible product.
The logs from the build servers can be really cryptic and hard to sift through. It is often hard for me to tell if the build is broken because the code I wrote is broken or because of a problem with the build server.
The biggest win is integrations with Atlassian products and managing deployments. Other than that, it doesn't do much more for you than something like Jenkins.
Building independently of local architecture on developer's machine, verifying code portability, deploying build artifacts from artifactory. Running Sonar static code analysis on a nightly basis, which calculates code coverage and complexity hotspots.