Particle System to delay its start...

I want to create a fire ball particle system to collide with the ground,
and when it does - another particle system will appear that shows the impact of collision.

how do I start the second particle system to start when the first collides or at a certain second after the first starts ?

If you want to start it a certain second from now you can use Invoke, just like this.

Invoke("startMySecondParticleEmitter", 5.0f);

Just prepare a function to start the second particles system. Can be something like this.

public void startMySecondParticleEmitter()
{
 secondParticlesObject.GetComponent().emit = true;
}

Another way is just simply put colliders on your objects and do it from a function OnColission, OnColliderEnter and so on. I think that this way is more logical than invoking it after a certain period.