Freestyle Project:
The purpose of the freestyle project is to implement, develop, or run simple jobs like allowing you to specify the version control system from which you required to extract code and build it and call tests if available. Freestyle projects are meant to orchestrate simple jobs for a project.
Pipeline Project:
Pipeline Project is a new type of Jenkins project that is suitable either when you have to set up a continuous delivery pipeline or to define the deployment pipeline as code. The pipeline project is applicable to build pipelines for complex activities that are not suitable for freestyle project.
If you want to learn Jenkins, I recommend this Jenkins Certification course by Intellipaat.
Also, watch this video on Jenkins Pipeline Tutorial: