Part of Roblox’ API design philosophy is to not make pure “helper” methods like this as part of the core API: methods should either exist because they expose completely new functionality that didn’t exist before, or expose a more performant way to do something which was technically possible before but unacceptably costly performance wise.
As for why Instance.new with a parent argument exists currently: This was a bad idea, the Parent argument would not have been added if the API were designed today.