Difference between components.release vs .aar file

Hi,

I am new to gradle, and I have a question about what is components.release?

In the build.gradle, what is the difference between

from components.release

and

artifact("$buildDir/../libs/xxx.aar")

?
If I do not need source code, are they the same?
and if I choose to use

from components.release

every time I run publish, will it rebuild the .aar?