Can you tell me what would be the difference and if there are any pros / cons of each method, between
a. creating a website with the domain sub.domain.com
b. creating a domain of domain.com and then creating a child domain of sub?
This is purely from an educational perspective. Also I have always known these as sub domains or addon domains (cPanel) rather than child. Any reason they are not called sub domains?
There is no physical difference between them if you create sub.domain.com as a website in CyberPanel or child domain they are treated similarly.
But if you have multiple users, a website can be owned by a user and its child domains belong to the same user. However if you also create child-domain as a website, you can assign a different owner to it.
Apart from that function wise, they are treated similarly.