What's difficult is that this is a many to many problem. Many different individual circumstances mapped to many different visa officers.
Because of this, it's almost impossible to brute force and discover what is even empirically able to improve odds of success.
Each individual needs to tailor their application to their individual circumstances and then roll the dice on the visa officer they get.
Should those individual circumstances merit an affidavit, is at the discretion of the individual. The affidavit is a data point, like a marriage certificate, criminality, country of origin, bank statement, invitation letter, photos, money transfers, travel history, etc. The weight assigned to each point can fall between -1 and 1 and the weight assigned will be at the discretion of the visa officers. Individuals can ask about and post what worked for them, but those should only serve as guidelines and should be adapted to individual circumstances. As it is such a multivariate problem, no general solution can be found and it's difficult to pick out general patterns because generally only 1 set of inputs can be tested per individual against 1 visa officer.
There are no right or wrong answers, and everyone's circumstances and experiences, are going to be different, and should be respected. This forum, is just input data. It is up to the individual to combine their circumstances, intuition, experiences, etc and decide which data points they subjectively believe could potentially yield them the best outcome, but no one can be right or wrong because it's too complex of a problem to predict outcomes with any sort of certainty as we do not know the weight matrix on each data point that will be applied by some assigned visa officer.