¿Por qué debería incluir una dependencia de gradle como `@ aar`

¿Por qué debería (o no) incluir una dependencia de gradle como@aar,

¿Cuáles son los beneficios / inconvenientes, si los hay?

Como puede ver, agregué @aar a las bibliotecas a continuación que lo admiten. Pero todo parecía funcionar antes de hacerlo también ...

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.1.1'
    compile 'com.google.android.gms:play-services-maps:7.3.+'
    compile 'com.google.guava:guava:18.0'
    compile 'com.octo.android.robospice:robospice-spring-android:1.4.14'
    compile 'org.codehaus.jackson:jackson-mapper-asl:1.9.13'
    compile 'com.mcxiaoke.volley:library-aar:1.0.0@aar'
    compile 'de.psdev.licensesdialog:licensesdialog:1.7.0@aar'
}

Respuestas a la pregunta(2)

Su respuesta a la pregunta