Hi Anon I would say that "congratulations on" is simply far more commonly used than "congratulations for". Other than that, I'm not sure that any clearcut difference can actually be made. "Congratulations on" does suggest "on this occasion", and thus the congratulations tend to be focused on and offered for the outcome or culmination of someone's activities.
New words, one handy idiom, and a 2-minute quiz — delivered to your inbox to keep your streak alive.