In a celebrated paper in 1973, Lieb proved what we now call Lieb's Concavity Theorem and resolved a conjecture of Wigner-Yanase-Dyson. In this talk, I will present a very simple variational method to study the concavity/convexity of trace functionals. This allows us to reduce many concavity/convexity problems to certain fundamental results: mainly this 1973 concavity theorem of Lieb and its complementary convexity result of Ando in 1979. Along the way, we settle a conjecture of Carlen-Frank-Lieb concerning "double convexity". A weaker form of this conjecture was made earlier by Audenaert-Datta when studying the data processing inequalities for alpha-z Rényi relative entropies. We also prove "triple convexity" theorems, which extend some results of Hiai-Petz and Carlen-Frank-Lieb. Such "triple convexity" results are related to a conjecture by Al-Rashed and Zegarlinski, which we will prove using complex interpolation. Moreover, this variational method is also helpful in proving non-concavity/non-convexity results. One can use this to disprove a strategy of Chehade proposed to study equality conditions of data processing inequalities. The talk is based on arXiv:1811.01205 and arXiv:2108.05785.