Instantiate rigidbody, transform or gameobject?

I have seen scripts do this either way.
What is the diff?

And maybe this will straighten me out on my ‘Fire and Forget’ problem.

Thanks in advance.

not much diff. if u instantiated a rigidbody it will have the properties of a rigidbody and u instantiated a transform it will have the properties of a transform etc. this depends on what kind of object do u want to instantiate