Difference Between pre_set_site_transient_update_plugins and site_transient_update_plugins

I'm having a small problem with the plug-in update checker I wrote (it knows it needs to be updated but the link to update doesn't appear).

While researching that problems I see some people using pre_set_site_transient_update_plugins and others using site_transient_update_plugins (which is what I use) for the same purpose.

My question is does anyone know the what the difference is between them and when it's best to use one or the other?