What's difference between retain_graph and retain_variables?

I asked the same question a few days ago.