Seems like it is doing similar things, so why is it different?
There is additionaly gradle jars downloading on invalidate and restart and nothing in Clean project.
>Solution :
Invalidate caches and restart in Android studio removes all the gradle caches which contains all the libraries used, past build results and apk analyser data. It is used when the editor behaves weirdly and as a last resort to an error in the IDE.
Meanwhile project clean deletes just the gradle build and not the network downloads and other caches. It is used to rebuild projects and to get rid of project metadata and system generated code for the project in gradle setup.