Basic question about Parent-Child and Instantiation

public class Child : Parent{}
VS
Parent parent = new Parent();

what’s the difference between the two?

This is simply not the same thing.

The first one is a class declaration where you declare a class to be named Child and inherits from Parent.

The second is an object instantiation of type Parent.

If you need more info you need to read the OOP part of a programming book. This would be way too long to explain here and not related to Unity.