A continuing debate? Not really. Basically it’s pretty simple to decide.
If you are grilling meats that are going to be done in 20 minutes or less, direct heat works great. Hamburgers, boneless chicken breasts; meat on that order that is tender when it’s done.
If you are grilling or barbecuing meat that needs to be slow cooked for tenderness and thorough cooking, usually over 20 minutes, use indirect heat.
I find that at times a combination works best. If I am putting on chicken breasts with bones, for instance, I’ll put them on a direct heat for about 10 minutes to get the skin nice and crispy. I then switch to indirect heat to allow the chicken to cook completely on the inside.
Or vice-versa. You barbecue the ribs until they are nice and tender. Then crank up the flames and grill the outside to get that nice carmelization you are looking for.
Bottom line? As I like to preach – experiment! Find what works best for you. That is really the joy of grilling.