First of all, you need to understand the concept of a goal. A goal is something that you want to track that the already existing analytics are not tracking—anything from a button click, downloads, specific page view, like a thank-you page after checkout, etc.
The pageview goal is the easiest to set up and the conversion of the goal will happen once a visitor reaches a certain specified page.
A good example would be when you have a 'thank you' page after the conversion happened (newsletter, purchase, form submission...etc) where the user will land on after.
Custom goals will require some extra code implemented to the tracked website, which is specified when you create a new goal from the dashboard.
A custom goal is mainly used when you want to track a specific event that happens on your website, which can't be tracked with the pageview method.
Some examples of where custom goals will shine are:
Tracking clicks on external links
Tracking more advanced form submissions
Tracking clicks on specific parts of your pages
When this code will trigger inside of your page, the goal conversion will be triggered as well on our side.