Gradle cache directories - project cache dir / home user dir

What is the purpose of gradle gradle project cache ( --project-cache-dir)? what is it used for? what is the purpose of the cache located in gradle user home folder? whats the diffrences between them?

The project cache is used for storing project-specific data such as incremental build information. The cache in your home directory is used for system-wide stuff like gradle distributions (when you are using the wrapper) and cached external dependencies.